这是一部从 工作原理 和 工程实践 两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。 自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。 第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。 全书一共13章,分为五大部分: 第壹部分(第1章)走近Java 系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。 第二部分(第2~5章)自动内存管理 详细讲解了Java的内存区域与内存溢出、垃圾收集器
Java是一个面向互联网的开源的计算机程序设计语言,拥有跨平台、面向对象、多线程的特点,经过20多年的发展,吸收了软件开发领域的最新技术,支持泛型编程、Lambda表达式、反射、注解等,形成了Spring、SpringMVC、Mybatis、springBoot等框架技术,先后使用了Git,Maven,Docker等各种项目管理、构建和配置工具,广泛应用于企业级Web应用开发和移动应用开发。对于大多数学生来说,Java的学习周期长,学习难度大,学习效率低。在众多的Java知识内容当中,合理选择知识体系和教学内容,实现课堂教学的有效、实效和高效,是Java课程教学中面临的难题。为此,教材编写组制订Java初级、中级和中高级的三级教学体系。本书为中级教学体系,主要讲授Java Web方面的内容,并引入SSM框架内容。内容侧重于Web开发基础,也即JavaEE基础部分。在Web开发部分,除了JSP和Servlet以外,增加J
本书由拥有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.util.concurrent包中的各种并发构建基础模块 性能优
本书是一本高质量的实战指南,面向Java开发者,旨在帮助他们进阶成为资深开发者。作者结合多年一线开发经验,深度剖析大型互联网企业通用技术的进阶应用,提供丰富的实战经验和实用技巧。本书共9章,第1章讲解项目管理经验,第2章从设计模式的角度提升代码复用、可维护性、扩展性等方面的经验。第3章深入讲解Spring Boot框架的原理和设计思想,帮助读者更加熟练地运用该框架。第4章主要讲解Java项目和中间件部署的相关方案,包括CentOS 7、Docker、DockerCompose、宝塔面板、Kubernetes等。第5~9章讲解调优方面的经验,涵盖了JVM、MySQL、Redis、消息中间件和ElasticSearch等方面的知识。本书内容丰富、实用,适合多个岗位的读者,包括Java开发者、技术管理人员、系统运维人员等。阅读本书后,读者能快速提升实战项目经验,熟练地运用这些技术,并在实际项目中取得更好
全书共分为14章,详细介绍了JavaWeb应用程序开发相关的技术,包含的内容如下,JavaWeb应用开发概述、HTML与CSS网页开发基础、开发环境的搭建、Tomcat、Servlet技术、Thymeleaf渲染、会话控制、JavaScript脚本语言、Vue框架、Ajax技术,以及过滤器和监听器等内容。书中所有知识都结合具体实例进行介绍,涉及的代码给出了详细注释。并且提供了一个书城项目的综合案例,融合了本书所讲内容,进一步讲解JavaWeb在实际开发中的应用。
本书是与《Java OpenCV高效入门》配套的案例集。全书共15章,第1章是OpenCV简介及开发环境的搭建,第2~15章是14个实用项目(专题),包括魔方图案识别、答题卡评分、围棋盘面识别、停车场车位检测、车道线检测、汉字识别、OCR文字识别、车牌定位与识别、硬币识别、零件检测、银行卡卡号识别、全景拼接、二维码识别、机器学习等内容。书中的项目均有相当的难度,需要综合运用OpenCV的各种算法实现。 本书面向的读者是包括高校学生在内的各类OpenCV学习者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
Java容器与流功能强大,应用广泛。容器能够存储和管理有限个元素,而流可以管理和处理无限个元素。为尽可能通用化,Java容器与流的相关接口与类都以泛型类型形式声明、定义和编写。为深入理解容器与流并掌握其使用,必须深入理解和掌握泛型。 本书以泛型为基础全面深入地介绍Java容器与流。全书共10章,分别介绍泛型、容器与流、列表、迭代器、比较器、队列、映射、集合、容器工具类和流。针对每个特性、接口或类,都以具体程序示例详尽演示其实现或用法。 本书适合对Java泛型、容器与流有一定了解但不够深入的学生、开发人员和研究人员学习和参考。
本书融合了Java和Android技术,还原企业的真实需求,模拟企业管理项目开发流程,带领读者 从0到1 学习公司管理项目的开发。 该项目的服务端主要采用SpringBoot框架,并集成MyBatis Plus简化了接口的开发,提高了开发效率,还在多个模块的开发中介绍了数据库触发器、Redis的简单使用,通过注解实现定时任务。在移动端主要讲解了Android SDK及其插件的使用,集成第三方接口,调用API查询企业信息等功能。项目中主要实现了客户资料管理、销售机会管理、报价记录管理、合同订单管理等模块的功能,并严格按照用户的权限对各类数据实现管控。 本书适合掌握一定的Java基础,拥有Spring相关框架开发经历的读者使用。
《图解Java开发基础(案例视频版)》循序渐进地讲解了Java语言开发的核心知识,通过典型实例讲解了这些知识的具体用法。本书共分15章,内容包括Java开发基础,Java基础语法,流程控制语句,操作字符串,Java数组,面向对象,使用集合存储数据,泛型,Java中的常用类库,异常处理,文件操作处理,使用Swing开发GUI程序,Java多线程,Java数据库编程,开发网络应用程序。本书内容全面,实例经典而有趣,几乎涵盖了Java语言所有知识点。 《图解Java开发基础(案例视频版)》不但适合初学Java的人员阅读,也适合计算机相关专业的师生阅读,还可供有经验的开发人员查阅和参考。
本书是国外数据结构与算法分析方面的经典教材,使用卓越的Java编程语言作为实现工具讨论了数据结构(组织大量数据的方法)和算法分析(对算法运行时间的估计)。本书把算法分析与*有效率的Java程序的开发有机地结合起来,深入分析每种算法,内容全面、缜密严格,并细致讲解精心构造程序的方法。
内容简介本书是Java并发编程领域公认的标准性著作,第1版自2015年出版以来,累计印刷23次,销售超过10万册,全网读者评论超过40000条,口碑爆棚。第2版在第1版的良好基础上,与时具进,反映了Java技术的最新发展;去芜存菁:处理了广大读者反馈的问题;博采众长:吸收了行业专家的宝贵建议;厚积薄发,融入了作者近8年在Java并发编程方面积累的新技术和新经验。新增和修订的内容超过50%,无论是理论、方法还是实践,都有了大幅度的提升。本书从并发编程的底层实现机制入手,围绕JDK源码、JVM、CPU等多角度详细介绍了设计Java并发程序的框架、原理、核心技术、设计模式与应用,同时辅以丰富的示例代码,使得开发人员能够更快地领悟Java并发编程的要领,利用Java平台的基础并发功能快速地构建大规模的并发应用。本书具体包含如下核心内容:?Java并发编程的
OpenCV作为一个应用广泛的开源计算机视觉库,正在受到越来越多的关注。目前OpenCV的各类教程基本上以Python和C 为主,基于Java的OpenCV书籍则少之又少,本书旨在弥补这一空白。 本书共13章,前4章是基础部分,包括OpenCV概述和安装配置、数字图像基础及图像基础操作等内容;第5到11章则包括了图像的几何变换、图像平滑、形态学操作、直方图、边缘检测与轮廓、霍夫变换、特征点检测和匹配等进阶内容;第12~13章属于提高内容,主要介绍机器学习和视频跟踪技术。 本书以通俗易懂的语言,图文并茂的讲解力图使初学者能够快速高效入门。本书面向的读者是包括高校学生在内的各类初学者、研究计算机视觉的业余爱好者及需要快速上手的专业人员。
本书提供了300个完整的Java案例,从算法上分为数学、搜索、回溯、递归、排序、迭代、贪心和动态规划等; 从数据结构上分为字符串、数组、指针、区间、队列、矩阵、堆栈、链表、哈希表、线段树、二叉树、二叉搜索树和图结构等。本书针对经典算法,基于相关的数据结构,将问题描述、问题示例、代码实现及运行结果相结合进行讲解,逻辑清晰,内容丰富,可作为程序开发人员及其他IT从业者学习和提升算法能力的参考书,也可作为高校计算机相关专业的教材。
本书旨在帮助Java求职者在面试中脱颖而出,内容涵盖Java通用架构方案的多个关键主题,如微服务架构、高性能架构、高可用架构、高并发架构、分布式原理和分布式缓存等。本书的特点在于,它将互联网领域的名企、大厂的面试问题与实际案例相结合,对面试问题和面试官的心理进行深度剖析,并将面试问题的相关解答和相应技术点详细展开,以帮助读者全面理解相关概念和技术,并能在面试和实际工作中灵活应用。 通过学习本书,读者可以深入了解名企、大厂的实际案例和相关问题的解决方案。书中总结的一些宝贵经验将有助于读者在面试中表现得更加出色,增加成功的机会,斩获高薪Offer,并提升自己的实际工作能力。读者无论是要做好面试准备还是要适应实际工作需求,都能从本书中获益。
本书涵盖了完整的对高级UI特性、企业编程、网络、安全和Java强大的模块系统等内容的讨论。
本书将Scratch作为一门程序设计语言看待,通过大量数学和算法方面的编程案例,为广大中小学生提供了一本编程进阶的参考教材。本书根据案例类型分为12章,共有100个妙趣横生的编程案例,涵盖数字黑洞、数学游戏、古算趣题、逻辑推理、玩扑克学算法、分形图等数学内容。本书*的特点是案例丰富多彩,让人脑洞大开,是广大中小学生在受过Scratch编程入门教育之后进一步提高编程能力的编程宝典。通过阅读本书,将使读者更加热爱编程,更加热爱数学和算法,为广大中小学生打开一片新的数学编程天地。本书不是零起点教材,适合已经过Scratch入门教育的广大中小学生、编程爱好者和参加中小学信息学竞赛的学生作为参考读物,也适合少儿编程培训机构作为课程设计的参考读物。
本书从JVM和Java API两个方面,深入地介绍了Java 8和Java 11等新的Java长期支持版本中影响性能的因素。本书先从Java应用程序的通用方法、基准测试的缺陷、性能监控工具等方面,分析了如何通过JVM的配置方式影响程序的性能;接着从即时编译、垃圾回收、堆内存与原生内存实践、线程与同步的性能等方面,分析了常见的优化方向及其特性。第2版专注于更加成熟的Java 8和Java 11,主要的更新内容涉及G1垃圾回收器和Java飞行记录器,以及Java在容器化环境下的性能变化。
《Java系统分析与架构设计》面向软件工程项目实战,内容按照软件项目的生命周期展开,分别为软件项目需求分析、软件项目架构设计(开发架构模式为主)、软件项目模块设计、软件项目的持久层设计(关系型物理表设计、Redis设计、MongoDB设计)、软件项目的部署等。 《Java系统分析与架构设计》共7章,第1章以大型企业项目 中国石油物资采购管理信息系统 为例,详细讲解需求分析技术,如流程图分解、UML用例图设计、UML状态图设计、概念模型分析等;第2章为 软件架构设计 ,讲解架构设计五视图、Java EE架构模式、微服务架构模式、Dubbo 3架构模式、MOM架构模式等内容,同时结合大型分布式项目 电影院综合票务管理平台 进行详细的架构设计示范;第3章为 项目模块设计 ,讲解UML类图、UML时序图设计方法,同时结合项目 新闻系统 与 物流管理系统 进行模块设
现代软件规模大、实时性要求高,所以掌握提升处理和响应速度的多线程技术势在必行。本书涵盖多线程编程的核心库、方法、原理,透彻讲解了高并发的本质与应对方法,帮助读者解决高并发环境下的业务瓶颈。 ●本书具体内容如下。 第1章讲解Java多线程的基础知识,包括Thread类的核心API的使用。 第2章讲解在多线程中通过synchronized关键字对并发访问进行控制的方法,为读者学习同步知识打好坚实的基础。 第3章介绍线程间通信,以在多线程中进行数据传递。 第4章介绍并发访问时的同步处理实现,包括读写锁(Lock对象)等相关技术点。 第5章剖析定时器Timer类的内部原理。定时器在Android开发中会有深入应用,是很重要的技术点。 第6章介绍单例模式下多线程的全面解决方案。 第7章对前面遗漏的知识点进行补充,使多线程的知识体系更加完整,尽量做到不出现
本书由拥有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安全模型,展示怎样编写类加载器和安全管理器,以及允许使用消息、代码签名、授权和认证及加密
本书讲述Apache Flink大数据框架的原理,以及如果将Apache Flink应用于大数据的实时流处理、批处理、批流一体分析等各个场景。通过原理深入学习和实践示例、案例的学习应用,使读者了解并掌握Apache Flink流处理的框架的基本原理和技能,接近理论与实践的距离。 全书共分为8章,主要内容包括Flink架构与集群安装、Flink开发环境准备(基于IntelliJ IDEA和Maven)、开发Flink实时数据处理程序、Flink流数据分析、时间和水印概念、窗口操作、状态和容错、侧输出流、Flink流连接器、Flink流处理案例、开发Flink批数据处理程序、使用Table API进行数据处理、Flink on YARN、基于Flink构建批流一体数仓、基于Flink和Iceberg数据湖构建实时数仓。本书源码全部在Apache Flink 1.13.2上调试成功,所有示例和案例均提供Scala语言和Java语言两套API的实现(第8章除外),供读者参考。 本书系统讲解了Apach
本书是高校教师多年开发经验的结晶之作,书中深入浅出地讲解使用Greenfoot编程软件进行Java游戏开发,帮助读者快速掌握游戏设计的基本原理和方法,同时提高Java语言的编程能力。本书内容分为五篇:*篇介绍Greenfoot编程基础,包含Greenfoot简介和Greenfoot游戏设计原理;第二篇介绍益智类游戏设计,包含记忆翻牌游戏、拼图游戏、扫雷游戏;第三篇介绍休闲类游戏设计,包含弹钢琴游戏、贪食蛇游戏、打砖块游戏;第四篇介绍飞行类游戏设计,包含太空生存游戏、星球大战游戏、飞扬的小鸟游戏;第五篇介绍棋牌类游戏设计,包含黑白棋游戏、接龙纸牌游戏、中国象棋游戏。本书内容安排合理,架构清晰,注重理论与实践相结合,既适合作为零基础Java游戏开发初学者的教程,也可作为本科院校及大专院校的教材,还可供职业技术学校和各类游戏培训机构使用。
《JavaWeb从入门到项目实践(超值版)》采用 基础知识 核心应用 核心技术 高级应用 项目实践 结构和 从入门到项目实践 的学习模式进行讲解。《JavaWeb从入门到项目实践(超值版)》共5篇22章,讲解了Java Web开发环境及服务器的搭建,HTML和CSS的基础知识,Web工程结构,JDBC基础,Java与数据库,Servlet基础,Filter开发,Listener开发,JSP基础语法,JSP元素,JavaBean技术,JSP标签,DAO和MVC设计模式,Spring应用,MyBatis应用,JDBC应用开发,Servlet应用开发,Servlet和JSP应用开发,Spring整合MyBatis应用开发等。在项目实践篇详细介绍了在线健身管理系统、银行日常业务管理系统开发,全面展示了项目开发的全过程。《JavaWeb从入门到项目实践(超值版)》的目的是多角度、全方位地帮助读者快速掌握软件开发技能,构建从高校到社会的就职桥梁,让有志于从事软件开发行业的读者轻松