作者:冷血之心
做为一名优秀的Java工程师,岂能不懂强大的Java Virtual Machine?巧逢周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》第三版问世,我也来分享下我与JVM的故事吧。
接下来,我按照时间顺序来对介绍下自己的JVM学习之路。
学生时代:
在刚开始学习Java的时候,最开始有一个很模糊的概念,简单知道通过Java虚拟机可以实现“一处编写,多处执行”的功能。但是,因为是刚刚处于Java入门阶段,总感觉JVM是一个很高端的概念,基本上接触不到,只知道安装一个JDK,我的“Hello World”即可跑起来。
在学生时代,参加校园招聘的时候,对于JVM依然还是一个很模糊的概念。为了应对面试官来自灵魂深处的拷问,不得已只能去各大网站,浏览各大博客,来学习JVM相关的一些知识点。零零碎碎的大概知道了一些内存分配、堆内存和栈内存、以及一些垃圾回收算法。那段时间真的很痛苦,因为这些概念都是一些很模糊的概念,并没有任何实战经验,在面试中全凭记忆来将知识点背诵出来。至于说一些内存调优的命令更是死记硬背(这里,手动后悔没能早点遇到周老师的优秀书籍!!!)好在,凭借着自己不错的记忆力,我依然在校招中斩获了一些优秀公司的Offer,从此我对JVM的理解也迈入了实战阶段。
工作初期:
工作之后的我,有了无数的实战机会,对于JVM的理解也逐渐加深。菜鸟在工作中还是会经常遇到JVM的问题。记得有一次,新上了一个服务,但是这个服务有点小奇怪。该服务间隔一段时间,比如说8天或者10天的就会出现内存溢出,导致服务崩溃的现象。做为菜鸟的我也是操碎了心,各种查阅资料,检查代码,排查解决。
不得不说,正是这次艰难排查JVM内存溢出的问题,使得我和周老师的《深入理解Java虚拟机:JVM高级特性与最佳实践》这本书相遇。我记得是在一个博客中,有人推荐说这本书是目前国内关于JVM最优秀,讲解最深刻的一本参考书籍了。
久旱逢甘霖,必须买一本。买到之后,就迫不及待的看了一遍又一遍。真是相见恨晚呀,我关于JVM知识点的疑惑几乎都可以详细的在本书中得到解答,包括来自面试官的灵魂拷问以及实际工作中的内存调优实战。
Java技术进阶之后:
有了周老师的帮助,我的Java技术水平有了一个本质的提升。关于JVM有了更加清晰的认识,通过不断的研究学习这本书,我对于目前线上服务的内存特别敏感。对于各个垃圾收集器的使用也很熟练,有事没事的就去看看线上服务的垃圾回收情况。对于jinfo、jstack、jmap以及jstat等内存调优命令也是比较熟悉,再也不是曾经那个一无所知的懵懂少年了。
周老师的《深入理解Java虚拟机-JVM高级特性与最佳实践》第三版即将开卖,看了目录之后,感觉在第二版的基础上进行了很多更新,结合了当前最新的JDK12,给我们讲解全新的JVM相关特性与技术,带领我们与时俱进,真正做到了实战与技术的相结合~
总结:
毫不夸张的说,这本书是Java开发者必备的技术图书,也是我们大多数同学的JVM启蒙书籍,这本书使我们更加系统的接触到了JVM相关的特性与知识。这么一本优秀书籍,我想第三个版本也必将大卖,希望我们都可以人手一本,学习新的技术。
推荐阅读
《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》
推荐语:这是一部从工作原理和工程实践两个维度深入剖析JVM的著作, 自2011年上市以来,前两个版本累计印刷36次,销量超过30万册,大厂面试最佳参考手册,进阶架构师必读、Java优化神书,这些标签成就了它成为原创计算机图书领域不可逾越的丰碑。
第3版在第2版的基础上做了重大修订,内容更丰富、实战性更强:根据新版JDK对内容进行了全方位的修订和升级,围绕新技术和生产实践新增逾10万字,包含近50%的全新内容,并对第2版中含糊、瑕疵和错误内容进行了修正。
你与世界
只差一个
公众号