《深入理解Java虚拟机:JVM高级特性与最佳实践》书评

不知不觉做JAVA开发已经两年多了,《深入理解JAVA虚拟机》第二版是我很早就买的书,大多数时间也一直放在我的工作桌上。想要学习写一门语言的话很简单,掌握基本的语法和编程思想就可以上手工作了;但是想要深入理解和掌握一门语言必须得下苦功夫才可以,而这本书就是帮助你打开JAVA世界大门的钥匙。
说起这本书,必须讲一个不得不提的小故事。当年有幸跟一位大牛架构师邻桌而坐,而我每天早早去到公司学习,那会正在看这本书,那位大牛便跟我打了个赌,要是我当年能看完那本书(当时应该是十一月初的样子)他就再送我十本技术书,我一天信誓旦旦回答到这还不简单吗,还有将近2个月的时间呢。哎,没想到最后真的没看完,也就遗憾错失了大牛的送书,想来真是惭愧。
还是说书,除第一部分外,本书讲了4大部分的内容,每一部分都很精彩。自动内存管理机制的开篇第一句话就令人印象深刻,JAVA与C++之前有一堵由内存动态分配和垃圾收集技术围城的高墙,墙外的人想进去,墙里的人想出来。很是生动形象。之一部分重点就讲内存分配和垃圾回收,怎么说呢,还是跟日常开发工作密不可分,因为实际中也会经常碰到OOM的情况,如果真的深入了解了这些原理,在真正碰到问题去分析内存快照的时候也会比较迅速准确地定位到代码的问题。第三部分虚拟机执行子系统,解决了我刚学习JAVA时一个很大的困惑,就是我们的代码到底是怎样去运行,属性和方法怎样去工作,通读下来这一部分给了我不少启发,也会在平时的编码过程中去想一下这个事情,偶尔还能写出更加精彩的代码。第四部分程序编译与代码优化,正如书中所说,对效率的追求应该是每一个程序员天生的坚定地信仰,该章介绍了JAVA是怎样处理这个事情的,而我从中更多的学到了开发者设计这些的编程思路和思想。第五部分高效并发,是我最喜欢的一部分,对于JAVA中的并发虽不是特别全面的介绍,但是对于一些并发关键字,语言层面的并发设计是很少可以从其他地方看到这么精彩的解读,已经拿来拜读好多次。周老师真是很厉害的人啊。
这本书不仅用易懂的语言去讲明了JAVA虚拟机世界的知识,还在很多章节手把手教你用工具来自己调试,十分难得。书的整个目录体系十分清楚,各个部分的简介能够准确地介绍这部分的大体内容,是一个很好的设计。章节和小节标题标题意思鲜明。最后随书的附录也是很有用的工具。总之,真是一本不可多得的好书。
好的书读来神清气爽,又能学到知识。听说周老师已经出第三版了,不知道又增加了什么精彩的内容,一定要找机会好好拜读一番,相信对虚拟机的理解又可以前进一大步,希望每一个JAVA开发都能看到这么好的书。
第三版的购买链接在这里了第三版购买链接

《深入理解Java虚拟机:JVM高级特性与最佳实践》书评