首页 > 编程语言 >好书推荐之《深入理解JAVA虚拟机》

好书推荐之《深入理解JAVA虚拟机》

时间:2022-09-18 08:22:05浏览次数:115  
标签:Java 虚拟机 编译 好书 深入 内存 JAVA 优化

大佬推进

这本书作为JVM的入门书籍,是每一个JVAV工程师必备的。

 

简介

这是一部从工作原理工程实践两个维度深入剖析JVM的著作,是计算机领域公认的经典,繁体版在台湾也颇受欢迎。

自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,两家主要网络书店的评论近90000条,内容上近乎零差评,是原创计算机图书领域不可逾越的丰碑。

第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。

全书一共13章,分为五大部分:

第壹部分(第1章)走近Java

系统介绍了Java的技术体系、发展历程、虚拟机家族,以及动手编译JDK,了解这部分内容能对学习JVM提供良好的指引。

第二部分(第2~5章)自动内存管理

详细讲解了Java的内存区域与内存溢出、垃圾收集器与内存分配策略、虚拟机性能监控与故障排除等与自动内存管理相关的内容,以及10余个经典的性能优化案例和优化方法;

第三部分(第6~9章)虚拟机执行子系统

深入分析了虚拟机执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎,以及多个类加载及其执行子系统的实战案例;

第四部分(第10~11章)程序编译与代码优化

详细讲解了程序的前、后端编译与优化,包括前端的易用性优化措施,如泛型、主动装箱拆箱、条件编译等的内容的深入分析;以及后端的性能优化措施,如虚拟机的热点探测方法、HotSpot 的即时编译器、提前编译器,以及各种常见的编译期优化技术;

第五部分(第12~13章)高效并发

主要讲解了Java实现高并发的原理,包括Java的内存模型、线程与协程,以及线程安全和锁优化。

全书以实战为导向,通过大量与实际生产环境相结合的案例分析和展示了解决各种Java技术难题的方案和技巧。

作者

周志明(博士)

资深Java技术专家、机器学习技术专家和企业级开发技术专家,现任远光软件研究院院长。

开源技术的积极倡导者和推动者,对计算机科学相关的多个领域都有深刻的见解,尤其是人工智能、Java技术和敏捷开发等,对虚拟机技术有非常深入的研究。

撰写了《深入理解Java虚拟机》《深入理解OSGi》《智慧的疆界》等多本著作,翻译了《Java虚拟机规范》等著作。其中《深入理解Java虚拟机》已累计印刷逾40次,总销超过30万册,成为原创计算机专业图书领域难以逾越的丰碑。

 

电子书籍下载

关注作者公众号。回复关键字“Java虚拟机”进行下载。

标签:Java,虚拟机,编译,好书,深入,内存,JAVA,优化
From: https://www.cnblogs.com/StarbucksBoy/p/16704162.html

相关文章

  • 好书推荐之《深入理解计算机系统》
    大佬推荐首先推荐的是翻译版图书《深入理解计算机系统》,原书名为《ComputerSystemsAProgrammer’sPerspective》。不过,这本书叫做《程序员所需要了解的计算机知识》......
  • 8年Java Stream API,8个问题看懂Streams!
    8年JavaStreamAPI,8个问题看懂Streams!是es,自JavaSE8发布以来已经8年了,其中包含StreamAPI、FunctionalInterfaces、TimeAPI和许多更重要的特性,但是Lambda和......
  • 使用 Amazon Rekognition、Lambda 和 JavaScript 进行面部识别
    使用AmazonRekognition、Lambda和JavaScript进行面部识别创建面部搜索lambda函数以按图像搜索面部亚马逊识别亚马逊识别是一个基于云的SAAS平台提供计算机......
  • JavaScript 中的混入
    JavaScript中的混入Photoby阿列克谢·鲁班on不飞溅介绍在继承中,大多数编程语言不支持多级继承,这意味着您不能为特定类拥有多个父级。Javascript也不支持多级......
  • 简单的 JavaScript 数字格式化方法
    简单的JavaScript数字格式化方法每个大型社交媒体网站都以与93.1K追随者、100万订阅者或2.5B浏览量相同的方式格式化他们的数字,他们这样做是因为用紧凑的数字设计......
  • 在 JavaScript 中从数组中删除空值
    在JavaScript中从数组中删除空值下面介绍如何在JavaScript中从数组中删除空值。我将向您展示两种方法,第一种使用纯JavaScript和数组过滤器方法,第二种使用Lodash。......
  • Day3 java数组和方法的学习
    Day3Java方法什么是方法理解上,方法和C++的函数差不多,即实现某个功能语句块的集合,尽量保证一个方法只完成一个功能。命名规则,首字母小写后面新单词大写类似studentLe......
  • Java 序列化
    Java序列化当一个对象需要持久化(存储)或者传输的时候,就用到了序列化。对象可以转换成字节序列,该字节序列包括这个对象的数据和类型信息也包括存储在对象中数据的类型。将......
  • Java
    Java概念简述基本环境JVM:Java虚拟机(Java程序是运行在JVM上的,不同平台的JVM实现了Java程序的跨平台运行)JRE:Java运行环境(JRE=JDK+核心类库和相关文件)JDK:J......
  • Java报错Failed to read candidate component class: file
    java.io.IOException:ServerreturnedHTTPresponsecode:500forURL:http://localhost:8080/xxxxxx/getJcpeizhisatsun.net.www.protocol.http.HttpURLConnection.......