这是一部从 工作原理 和 工程实践 两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。 自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。 第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。 全书一共13章,分为五大部分: 第壹部分(第1章)走近Java 系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。 第二部分(第2~5章)自动内存管理 详细讲解了Java的内存区域与内存溢出、垃圾收集器
本书将Scratch作为一门程序设计语言看待,通过大量数学和算法方面的编程案例,为广大中小学生提供了一本编程进阶的参考教材。本书根据案例类型分为12章,共有100个妙趣横生的编程案例,涵盖数字黑洞、数学游戏、古算趣题、逻辑推理、玩扑克学算法、分形图等数学内容。本书*的特点是案例丰富多彩,让人脑洞大开,是广大中小学生在受过Scratch编程入门教育之后进一步提高编程能力的编程宝典。通过阅读本书,将使读者更加热爱编程,更加热爱数学和算法,为广大中小学生打开一片新的数学编程天地。本书不是零起点教材,适合已经过Scratch入门教育的广大中小学生、编程爱好者和参加中小学信息学竞赛的学生作为参考读物,也适合少儿编程培训机构作为课程设计的参考读物。
内容简介本书是Java并发编程领域公认的标准性著作,第1版自2015年出版以来,累计印刷23次,销售超过10万册,全网读者评论超过40000条,口碑爆棚。第2版在第1版的良好基础上,与时具进,反映了Java技术的最新发展;去芜存菁:处理了广大读者反馈的问题;博采众长:吸收了行业专家的宝贵建议;厚积薄发,融入了作者近8年在Java并发编程方面积累的新技术和新经验。新增和修订的内容超过50%,无论是理论、方法还是实践,都有了大幅度的提升。本书从并发编程的底层实现机制入手,围绕JDK源码、JVM、CPU等多角度详细介绍了设计Java并发程序的框架、原理、核心技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,利用Java平台的基础并发功能快速地构建大规模的并发应用。本书具体包含如下核心内容:?Java并发编程的
本书由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),是程序员的优选Java指南。本版针对Java SE 9、10和 11全面更新。 全书共12章,为你指明Java的学习路径!。 ☉第1章概述Java语言的特色功能; ☉第2章详细论述如何下载和安装JDK以及本书的程序示例; ☉第3章开始讨论Java 语言,包括变量、循环和简单的函数; ☉第4章介绍面向对象两大基石中极要的一个概念 封装,以及Java语言实现封装的机制,即类与方法; ☉第5章介绍面向对象的另一个重要概念 继承,继承使程序员可以使用现有的类,并根据需要进行修改; ☉第6章展示如何使用Java的接口(可帮助你充分获得Java的完全面向对象程序设计能力)、lambda表达式(用来表述可以在以后某个时间点执行的代码块)和内部类; ☉第7章讨论异常处理,并给出大量实用的调试技巧; ☉第8章概要介绍
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与*有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。
本书深入浅出地介绍了Java线程和并发,是一本完美的Java并发参考手册。书中从并发性和线程安全性的基本概念出发,介绍了如何使用类库提供的基本并发构建块,用于避免并发危险、构造线程安全的类及验证线程安全的规则,如何将小的线程安全类组合成更大的线程安全类,如何利用线程来提高并发应用程序的吞吐量,如何识别可并行执行的任务,如何提高单线程子系统的响应性,如何确保并发程序执行预期任务,如何提高并发代码的性能和可伸缩性等内容,*后介绍了一些高级主题,如显式锁、原子变量、非阻塞算法以及如何开发自定义的同步工具类。 本书适合有Java基础的程序开发人员阅读。 本书涵盖的内容包括: 并发性与线程安全性的基本概念 构建以及组合各种线程安全类的技术 使用java.util.concurrent包中的各种并发构建基础模块 性能优
OpenCV作为一个应用广泛的开源计算机视觉库,正在受到越来越多的关注。目前OpenCV的各类教程基本上以Python和C 为主,基于Java的OpenCV书籍则少之又少,本书旨在弥补这一空白。 本书共13章,前4章是基础部分,包括OpenCV概述和安装配置、数字图像基础及图像基础操作等内容;第5到11章则包括了图像的几何变换、图像平滑、形态学操作、直方图、边缘检测与轮廓、霍夫变换、特征点检测和匹配等进阶内容;第12~13章属于提高内容,主要介绍机器学习和视频跟踪技术。 本书以通俗易懂的语言,图文并茂的讲解力图使初学者能够快速高效入门。本书面向的读者是包括高校学生在内的各类初学者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
本书第3版深入研究JavaScript语言,详细介绍如何编写漂亮、高效的代码。更新的内容包括:类表示法、箭头函数、迭代器、异步函数、模板字符串和块作用域等功能的全新内容。 本书通过大量示例进行讲解,并提供大量习题和完整项目案例,为读者提供了编写自己的程序的实践经验。书中不仅介绍JavaScript语言的基本结构以及控制结构、函数和数据结构,还详细介绍错误处理和错误修复、模块化和异步编程,以及Web浏览器编程。
本书是与《Java OpenCV高效入门》配套的案例集。全书共15章,第1章是OpenCV简介及开发环境的搭建,第2~15章是14个实用项目(专题),包括魔方图案识别、答题卡评分、围棋盘面识别、停车场车位检测、车道线检测、汉字识别、OCR文字识别、车牌定位与识别、硬币识别、零件检测、银行卡卡号识别、全景拼接、二维码识别、机器学习等内容。书中的项目均有相当的难度,需要综合运用OpenCV的各种算法实现。 本书面向的读者是包括高校学生在内的各类OpenCV学习者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
本书从整个Java后端研发的视角,通过大量的案例分析日常开发过程中可能遇到的150多个坑点及其解决方案,并讨论一些best实践。这些坑点涵盖编码(不仅涉及Java语法层面,还涉及多线程、连接池、数据库索引、事务、日志、Spring框架等层面)、系统设计、代码安全等方面。本书在剖析这些坑点时还会讲解排查思路和相关工具的使用,让读者不仅能了解常见的坑点,还能具备一定的问题分析能力,以便日后自行排查更多的坑点。
本书是国内系统分析Spring源代码的著作,也是Spring领域的问鼎之作,由业界拥有10余年开发经验的资深Java专家亲自执笔,Java开发者社区和Spring开发者社区联袂推荐。本书第1版不仅在内容上获得了读者的广泛好评,而且在销量上也摘取了同类书的桂冠,曾经一度掀起Java类图书的销售热潮。第2版不仅继承了第1版在内容组织和写作方式上的优点,而且还根据广大读者的反馈改进了若干细节上的不足。更为重要的是,对过时的内容进行了更新,并增加了大量内容,使本书更趋近于完美。 本书从源代码的角度对Spring的内核和各个主要功能模块的架构、设计和实现原理进行了深入剖析。你不仅能从本书中参透Spring框架的优秀架构和设计思想,还能从Spring优雅的实现源码中一窥Java语言的精髓。本书在开篇之前对Spring的设计理念和整体架构进行了全面的介绍,能让读
本书旨在帮助Java求职者在面试中脱颖而出,内容涵盖Java通用架构方案的多个关键主题,如微服务架构、高性能架构、高可用架构、高并发架构、分布式原理和分布式缓存等。本书的特点在于,它将互联网领域的名企、大厂的面试问题与实际案例相结合,对面试问题和面试官的心理进行深度剖析,并将面试问题的相关解答和相应技术点详细展开,以帮助读者全面理解相关概念和技术,并能在面试和实际工作中灵活应用。 通过学习本书,读者可以深入了解名企、大厂的实际案例和相关问题的解决方案。书中总结的一些宝贵经验将有助于读者在面试中表现得更加出色,增加成功的机会,斩获高薪Offer,并提升自己的实际工作能力。读者无论是要做好面试准备还是要适应实际工作需求,都能从本书中获益。
本书是一种良好的跨平台、可移植性好、安全性高、纯面向对象的程序设计语言,是目前软件开发的主流编程语言之一。本书由浅入深、循序渐进地介绍了Java语言的发展、编程环境、开发工具、基本语法、面向对象编程、异常处理、线程、输入输出流、GUI编程、网络编程、数据库编程等内容,并结合大量的实例进行讲解。 《国外计算机科学教材系列:Java程序设计(双语版)》是国内首次出版的中英文对照混排式双语版Java程序设计教材。本书内容注重理论与实践结合,参考了Java在线官方文档及国内外优秀的Java程序设计教材的知识体系。针对中国学生英文水平及实际教学状况,做了针对性的编写,并对重要的、难以理解的内容进行了中文解释,方便了读者对英文的理解。本书配有电子课件、案例分析、实验指导等教学资源,可登录电子工业出版社华信教育
本书融合了Java和Android技术,还原企业的真实需求,模拟企业管理项目开发流程,带领读者 从0到1 学习公司管理项目的开发。 该项目的服务端主要采用SpringBoot框架,并集成MyBatis Plus简化了接口的开发,提高了开发效率,还在多个模块的开发中介绍了数据库触发器、Redis的简单使用,通过注解实现定时任务。在移动端主要讲解了Android SDK及其插件的使用,集成第三方接口,调用API查询企业信息等功能。项目中主要实现了客户资料管理、销售机会管理、报价记录管理、合同订单管理等模块的功能,并严格按照用户的权限对各类数据实现管控。 本书适合掌握一定的Java基础,拥有Spring相关框架开发经历的读者使用。
本书以实用的设计模式为例,讲解了Java近年来在改善语法方面取得的进展,同时在实现这些模式的过程中展示了语言特性、设计模式与平台效率之间的关系。本书涵盖23种传统的设计模式、11种较为常见的模式,以及8种适用于多线程环境的并发模式。另外,本书还简要介绍了15种反模式。作者讲解这些模式的时候不仅给出了简洁、直观的范例代码,而且还利用UML类图与JFR工具展示了运用该模式的程序所具备的架构及运行细节,让读者能够更全面地了解模式对代码结构的影响,以及模式与Java虚拟机的交互情况。本书的特点在于把Java这种成熟的编程语言以及该语言最近新增的特性与各种设计模式结合起来,告诉读者怎样充分发挥Java的特性与优势,从而更好地实现设计模式,避免陷入空谈概念而无法落实的境地。
现在,Java开发可谓如日中天,并且Java安全开发是Java开发领域中的一个重要内容,每个Java开发人员都必须掌握。市面中的绝大多数密码学书籍都是针对C或C 的,本书重点介绍Java自带加解密函数的相关技术,以及密码学领域重要的开源库OpenSSL在Java开发中的应用。 本书共8章,主要内容包括密码学和Java概述、搭建Java密码开发环境、对称密码算法原理、利用JCA\JCE对称加解密、杂凑函数和HMAC、密码学中常见的编码格式、非对称算法RSA的加解密、数字签名技术等。本书内容非常详细,学习坡度非常平滑,循序渐进,就算没有密码学基础,也能从零开始到全面掌握。 本书面向的读者是Java开发人员、企业内转行计算机信息安全的工作人员、已有信息安全基础并想了解Java加解密新特性的人员。本书也可作为高等院校和培训机构计算机及相关专业师生的教学参考书。
《Java系统分析与架构设计》面向软件工程项目实战,内容按照软件项目的生命周期展开,分别为软件项目需求分析、软件项目架构设计(开发架构模式为主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 《Java系统分析与架构设计》共7章,第1章以大型企业项目 中国石油物资采购管理信息系统 为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为 软件架构设计 ,讲解架构设计五视图、Java EE架构模式、微服务架构模式、Dubbo 3架构模式、MOM架构模式等内容,同时结合大型分布式项目 电影院综合票务管理平台 进行详细的架构设计示范;第3章为 项目模块设计 ,讲解UML类图、UML时序图设计方法,同时结合项目 新闻系统 与 物流管理系统 进行模块设
本书提供了300个完整的Java案例,从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心和动态规划等; 从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。本书针对经典算法,基于相关的数据结构,将问题描述、问题示例、代码实现及运行结果相结合进行讲解,逻辑清晰,内容丰富,可作为程序开发人员及其他IT从业者学习和提升算法能力的参考书,也可作为高校计算机相关专业的教材。
本书详细讲解了Java EE中Spring、Spring MVC和MyBatis三大框架(SSM)的基础知识和实际应用。为了更好地帮助读者学习SSM框架,本书以大量案例介绍了SSM框架的基本思想、方法和技术。 全书共20章,分四部分介绍。第1~5章为第1部分,主要讲解Spring框架的相关知识,内容包括Spring入门、Spring IoC、Spring Bean、Spring AOP以及Spring的事务管理;第6~8章为第2部分,主要讲解MyBatis的相关知识,内容包括MyBatis开发入门、映射器以及动态SQL;第9~18章为第3部分,主要讲解Spring MVC的相关知识,内容包括Spring MVC入门、Controller、类型转换和格式化、数据绑定和表单标签库、拦截器、数据验证、国际化、统一异常处理、文件的上传和下载以及EL与JSTL;第19章、第20章为第4部分,主要讲解SSM框架整合的基本思想与实战开发,内容包括SSM框架整合以及基于SSM框架的电子商务平台的设计与实现
《名师讲坛 Java微服务架构实战(SpringBoot SpringCloud Docker RabbitMQ)》一共15章,核心内容为SpringBoot、SpringCloud、Docker、RabbitMQ消息组件。其中,SpringBoot是SpringMVC技术的延伸,使用它进行程序开发会更简单,服务整合也会更容易。SpringCloud是当前微架构的核心技术方案,属于SpringBoot的技术延伸,它可以整合云服务,基于RabbitMQ和GITHUB进行微服务管理。除此以外,本书还重点分析了OAuth统一认证服务的应用。
本书全面介绍了Java 8、9、10版本的新特性,包括Lambda表达式、方法引用、流、默认方法、Optional、CompletableFuture以及新的日期和时间API,是程序员了解Java新特性的经典指南。全书共分六个部分:基础知识、使用流进行函数式数据处理、使用流和Lambda进行高效编程、无所不在的Java、提升Java的并发性、函数式编程以及Java未来的演进。
本书用于学习Java网络通信的设计和开发,系统地介绍了Java网络通信的多种技术,由浅入深地阐述了多种通信技术的基础知识、主要模型以及实际可用的案例,使读者能有效地掌握Java网络编程的相关知识,并具备以Java编程来处理和解决网络通信问题的能力。 全书共8章和1个附录。第1~4章依次介绍BIO、NIO、AIO及Netty编程技术,每章均提供3个案例的设计和编码; 第5章与读者分享RESTful应用轻量级框架Jersey的使用经验; 第6章介绍Web服务消息推送规范SSE,并基于Jersey的SSE机制实现订阅 发布功能以及一个可重入的分布式锁; 第7章自行设计了一个RPC框架并进行代码实现; 第8章开发了两个简单常见的应用; 附录解答了Java开发时常见的若干问题。 本书可作为高等院校 网络程序设计 课程的教材,也可供相关领域的技术人员参考。
本书由拥有20多年教学与研究经验的资深Java技术专家撰写(获Jolt大奖),本版针对Java 11全面更新。 全书共分12章。 第1章介绍了Java中的流库; 第2章涵盖输入/输出处理,探讨了Java 11中引入的广受欢迎的改进和优化; 第3章介绍了XML,展示如何解析XML文件、生成XML和使用XSL转换; 第4章讲解了网络API,以及怎样连接到服务器、实现自己的服务器、创建HTTP连接,并讨论了新的HTTP客户端; 第5章介绍了数据库编程,重点讲解JDBC,即Java数据库连接API; 第6章涵盖如何使用新的日期和时间库来处理日历及时区; 第7章讨论国际化; 第8章介绍3种处理代码的技术; 第9章讲解从Java 9开始引入的Java平台模块系统,以促进Java平台和核心类库的有序演化; 第10章继续介绍Java安全模型,展示怎样编写类加载器和安全管理器,以及允许使用消息、代码签名、授权和认证及加密
《码出高效:Java 开发手册》源于影响了全球250万名开发工程师的《阿里巴巴Java开发手册》,作者静心沉淀,对Java规约的来龙去脉进行了全面而彻底的内容梳理。本书以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀开发工程师。比如:如何驾轻就熟地使用各类集合框架;如何得心应手地处理高并发多线程问题;如何顺其自然地写出可读性强、可维护性好的优雅代码。本书旁征博引、文风轻松,秉持 图胜于表,表胜于言 的理念,深入浅出地将计算机基础、面向对象思想、JVM探源、数据结构与集合、并发与多线程、单元测试等知识客观、立体地呈现出来。紧扣学以致用、学以精进的目标,结合阿里巴巴实践经验和故障案例,与底层源码解析融会贯通,娓娓道来。本书以打造民族标杆图书为己任,追求极致,打磨精品,在技术广
《深入解析Java编译器:源码剖析与实例详解》以工业级编译器Javac的源代码为基础,详细介绍了词法分析、语法分析、语义分析及代码生成 等各个阶段的具体实现,同时对重点源代码的实现进行了详细解读,让读者能真正掌握从Java源代码变为Class文件的每个过程。 《深入解析Java编译器:源码剖析与实例详解》共18章,章节的前后顺序与Javac编译Java源代码的顺序严格对应,涵盖的主要内容有Javac介绍、Javac文件系统、词法分析、语法分析之认识树节点、语法分析之建立抽象语法树、符号表的组织、填充符号表、插入式注解的实现、语义分析之类型转换、语义分析之语法检查、语义分析之引用消解、语义分析之语法树标注、泛型的实现、数据流检查、语法糖去除、字节码指令生成、重要结构的字节码指令生成、生成Class文件。同时,为了读者能更好地查阅相关信息,