推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > Java编程 > 豆瓣评分8.9!这本原生中文版的JVM宝典,你还没读么?

豆瓣评分8.9!这本原生中文版的JVM宝典,你还没读么?

Java编程 2019-02-11

来自:程序员书库(ID:OpenSourceTop)

综合自:《深入理解Java虚拟机 - JVM高级特性与最佳实践 》一书、豆瓣


每个使用Java的开发人员都知道,JRE最重要的元素就是Java虚拟机(JVM),但许多开发人员对于JVM是如何运行的并不了解,因为就算你没有深入了解JVM,你一样可以开发出一些优秀的应用和库,不过要是你了解了JVM,那对你理解Java就会有很大的帮助


在国内,有关Java API、Java语言语法及第三方框架的技术资料和书籍非常多,但有关Java虚拟机的资料却很少,不过少并不意味着没有,比如本文要和大家推荐的这本书,就是一本难得的原生中文书籍——深入理解Java虚拟机 - JVM高级特性与最佳实践 》


  • 豆瓣评分8.9,好评如潮

  • Java领域公认的经典著作和超级畅销书


如果你有留意程序员书库的【】,你就不难发现这本书基本每周都会上榜;而且第1版在两年内就印刷近10次,由此可见其销量有多么惊人。


这是一本关于JVM的经典书籍,共分为五大部分,围绕内存管理、执行子系统、程序编译与优化、高效并发等核心主题对JVM进行了全面而深入的分析,深刻揭示了JVM的工作原理。



阅读路线


第一部分:从宏观的角度介绍了整个Java技术体系、Java和JVM的发展历程、模块化,以及JDK的编译,这对理解书中后面内容有重要帮助。


第二部分:讲解了JVM的自动内存管理,包括虚拟机内存区域的划分原理以及各种内存溢出异常产生的原因;常见的垃圾收集算法以及垃圾收集器的特点和工作原理;常见虚拟机监控与故障处理工具的原理和使用方法。


第三部分:分析了虚拟机的执行子系统,包括类文件结构、虚拟机类加载机制、虚拟机字节码执行引擎。


第四部分:讲解了程序的编译与代码的优化,阐述了泛型、自动装箱拆箱、条件编译等语法糖的原理;讲解了虚拟机的热点探测方法、HotSpot的即时编译器、编译触发条件,以及如何从虚拟机外部观察和分析JIT编译的数据和结果;


第五部分:探讨了Java实现高效并发的原理,包括JVM内存模型的结构和操作;原子性、可见性和有序性在Java内存模型中的体现;先行发生原则的规则和使用;线程在Java语言中的实现原理;虚拟机实现高效并发所做的一系列锁优化措施。



第二版有何改进?


有的人可能已经读过第1版了,想知道第二版有哪些改进,这边我们也帮大家整理出来了:

  • 技术平台从JDK 1.6提升至JDK 1.7

  • 对于功能点的讲解变为直接使用OpenJDK中的HotSpot源码或者JIT编译器生成的本地代码

  • 增加了许多对处理JVM常见问题技能的讲解,包括如何分析GC日志、如何分析JIT编译器代码优化过程等。

  • 新增许多处理JVM问题的实践案例

  • 最后就是修正了一些第一版中的错误之处



豆瓣书评


@ Gabriel Fu:难得的优秀的原生中文书籍,中间没有翻译这一层感觉好很多,读起来比外文原版书也更轻松

@ 二十而立:浅显易懂。最重要的是开启一扇理解虚拟机的大门。内存管理机制与Java内存模型、高效并发这三章是特别实用的。

@ 匿名:知识点覆盖面广,原理解释透彻,含有大量Demo案例,是一本具有相当深度的作品。美中不足的是概念的轻重顺序不够有条理,专有名词不加解释,甚至出现相同概念使用不同专有名词的情况,可能也是干货太多的副作用吧,总的来说瑕不掩瑜,jvm门槛不低,作者做到了深入浅出,功力确实不一般。

@ 散关清渭:之前也看过第一版 第二版比第一版有不少增改 主要是G1 这部分多了一章内容 还是与时俱进的 挺好~~~ 

@匿名:作者写的非常好,深入浅出的讲解了虚拟机的各个部分。是国内计算机出版难得的好书。



写在最后


总而言之,这本书值得你去多次研读,让你站在一个更高的角度去理解Java开发。虽说网上有很多JVM资料,但内容鱼龙混杂,看太多可能还有反效果,所以想要系统的学习一门知识,最简单的方式最好还是书籍



●编号887,输入编号直达本文

●输入m获取到文章目录


版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《豆瓣评分8.9!这本原生中文版的JVM宝典,你还没读么?》的版权归原作者「Java编程」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注Java编程微信公众号

Java编程微信公众号:JavaCoder1024

Java编程

手机扫描上方二维码即可关注Java编程微信公众号

Java编程最新文章

精品公众号随机推荐