《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

这是why的第 47 篇原创文章

荒腔走板

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

人人好,我是 why。老例子,先是简短的荒腔走板聊聊生涯。

上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗稀奇稀奇亮的星星。

不知道为什么,一瞬间,我感受一下回到了小时刻的炎天。

脑海里浮现出了一些画面:一个大铁勺子舀一勺透心凉的井水、经由水缸冰镇的西瓜、树荫下卖樱桃的老爷爷、小河畔嬉笑着抓螃蟹的同伴、提着一杯凉白开走在上学路上的自己,另有薄暮在顶楼纳凉的邻人们。

我小时刻是在筒子楼长大的,一栋楼 7 层高,每一层住 10 来户人家。

那个时刻没有谁家里有冰箱,然则家家户户都有一个大水缸。炎天,买一个西瓜回来,冲清洁后扔在大水缸内里,晚上吃的时刻,甭说多带劲了。

冰箱都没有,更别说空调了。以是到了炎天异常热,仅仅是靠一个吊扇是带来不了丝毫凉意的。人人就会不约而同的带着凉席、枕头、薄毯和蒲扇去顶楼睡一晚上。

而楼上楼下的邻人大多都熟识,人人就在顶楼上相互走动,坐在凉席上拉家常。

我稀奇喜欢在顶楼睡,在顶楼上睡的时刻可以看到许多星星,还能听到窸窸窣窣的虫叫。

睡的时刻爷爷还会给我讲故事,看到流星划过的时刻记得许愿是爷爷告诉的我的。他还告诉我当一小我私家降生在这个世上,天上就会点亮一盏灯,这就是我们看到的星星。若是这小我私家要脱离天下了,那么他的星星就掉落了,这个就是流星。

现在回想起来,我都是带着笑意的,我喜欢小时刻的炎天。

好了,说回文章。

先说结论

自从《深入明晰Java虚拟机(第 3 版)》刊行后,我看到了许多人提出了相同的问题:第三版值不值得买?

第二版和第三版我都看了,以是文本就是站在我小我私家的角来回覆这个问题的。

《深入明晰Java虚拟机(第 3 版)》,我是 19 年 12 月尾买的。到现在基本上算是看完了。

现在,我终于有资格来回覆类似这样的问题了:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

也可以把之前说的这句话给实现了:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

先说结论:小我私家以为很有需要。

据我剖析,现在也许就是三类情形(条件都是你想看这个书)。

1.没有看过第二版。这种情形异常简朴了,直接买第三版看就行了。没啥说的。

2.买了第二版,然则没翻过几回,甚至还没开封的。这种情形,我建议你直接把第二版珍藏起来,买一本第三版回来看。不要舍不得还没翻过几回的第二版,就把时间“虚耗”在第二版上。由于第三版的内容是包罗了第二版,且对第二版举行了弥补说明的,相当于是第二版 + 番外篇。以是,从时间收益的角度来说,直接看第三版是划算的。

3.之前买了第二版,也看过第二版的。我就属于这种情形,我的建议是看过第二版了,一定要再看看第三版,你就会知道,作者这本书出到第三版,不是圈钱的,是真的有干货,是真的在对知识举行更新。这是一种对手艺的敬畏、对自己无愧、对读者的卖力的态度。

这本书 2011 年出的第一版可以说是填补了海内 JVM 的一块空缺。

2013年出的第二版可以说是推动了 JVM 在海内的普及度。

2019 年出的第三版在我看来更多的是反映出手艺的更新换代之快速,在提醒着我们:今日不学习,明日变垃圾。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

我这么说吧:要是没有这本书,也就没有这么多 JVM 的面试题。但要是真没有这本书,你的手艺链上,会缺少了异常主要的一环。

同时,像书中的前言部门说的一句话:通常情形下,一个程序员只要领会了需要的 Java 类库 API、Java 语法,学习适当的第三方开发框架,就已经基本知足一样平常开发的需求了。

换言之就是,你若是不想当个通俗的程序员,你应该领会一下书中提到的知识。

你细细的品一下,你是要面试题,照样要当个通俗程序员,照样要手艺的完善度?

第三版我也是期待已久:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

说着实的,在第三版没出来之前,我也不知道有哪些内容。主要是第二版让我打开了 JVM 这扇大门,学习到了许多硬核知识、内功心法,第三版岂论怎么样我都要支持一下。

现在看来,第三版并没有让我失望,它值得我这样去支持。

接下来,我就站在我自己的角度,给你详细的对比一下第二版和第三版的区别。

第三版 VS 第二版

首先,我们来个视觉上的直观对比:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

如上图所示,第三版的一眼就看出来比第二版厚了不少。详细尺寸是什么呢。

我给人人量了一下。第二版厚度 2 厘米,而第三版厚度 2.7 厘米,比第二版足足多出来 7 毫米。

第二版 433 页,第三版 521 页,足足多出来了 88 页。

多了 88 页啊。你知道这意味着什么吗?

意味着关于 JVM 的面试题库,又厚实了近 10 万字啊。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

再看看封面上的文字:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

第二版的封面上赫然写着:基于最新JDK 1.7。

第二版周志明先生是 2011 年到 2012 年间写出来的,正式出书时间是 2013 年 9 月。而彼时,JDK 版本的最新版本是 1.7。

第三版的出书时间是 2019 年底,封面上说是:凭据 JDK 新版本周全升级。

而那时,JDK 版本的最新版本是 13。

我写文章的此时,已经是 2020 年 5 月。2020 年 3 月 17 日,Oracle 公司正式公布了 JDK 14。

2011 年到 2020 年,这近 10 年的时间。

首先,JDK 版本的命名规则发生了转变。在 2018 年 3 月 JDK 10 版本公布后,JDK 的开发版本号弃用了以前的 1.x 的命名规则。

以是,我们也逐步的从 JDK 1.7 改口变成了 JDK 7。

其次,虽然 2009 年 4 月 Oracle 公司就收购了 Sun 公司,Java 商标正式归 Oracle 所有。

然则在我的印象中,我读大学的时刻,说到 Java 我更多的照样会想到 Sun 公司。而现在,一说到 Java,我的第一反映已经是从 sun 到变成了 Oracle。

这 10 年间,名字变了,版本号从 7 变成了 14 ,翻了一倍。甚至连所属公司都变了。

真的是,白云苍狗,换了人世。

好了,我们接着说说书内里的内容吧。

这两个版本的书都划分为五大部门:

1.走进 Java

2.自动内存治理

3.虚拟机执行子系统

4.程序编译与代码优化

5.高效并发

以是,我接下来的内容就主要顺着这五大部门去讲第三版对于第二版这五大部门增添了什么内容。

1.走进 Java

这一部门的内容主要就是 Java 手艺的发展史。

就像我前面说的,第二版和第三版之间差的这近 10 年的时间,Java 已经发生了许多大事件,包罗一些吃瓜群众喜闻乐见的事情。

好比, Android 对于 Java 的侵权案件在 2018 年尘埃落定, Google 赔偿了 Oracle 88 亿美金。

Google 心里苦啊。由于着实在 2017 年 Kotlin 就取代 Java 成为 Google 官方的 Android 一级开发语言了。未来取代 Android 的 Fuchsia 系统,更是和 Java 无瓜葛。

88 亿美金,心里苦啊。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

另有一件吃瓜的事情就是 2018 年 9 月 25 日,JDK 11 公布。同时带来的一个惊动的谣言:Java 要最先收费啦!

一石激起千层浪,一谣言振奋了无数的题目党。

各大科技自媒体拿着键盘就冲进了战场,种种文章铺天盖地的而来。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

也许我们那时都是拿不准结论的吃瓜群众,然则两年快已往了,我不需要说效果了,由于时间给了你谜底。

上面写的两个事情都是我在第三版的书内里看来的,第二版没有这些内容。

这是第二版这一部门的 Java 手艺发展的时间线插图,着实只写到了 2011-07-28,之后的内容都是展望:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

这是第三版的插图:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

同时这一部门另有一个小节是:展望 Java 手艺的未来。

在第二版中,作者站在 2011 年展望的模块化、夹杂语言、多核并行、厚实语法、64 位虚拟机……这些器械都如约而至了。

在第三版中,作者是这样展望的:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

可以说,我们站在 2020 年的时间节点上,往前再看 10 年,Java 的未来可期,我们的未来也同样一定是白云苍狗,换了人世。

然则是往好的偏向照样不尽人意的偏向……这个就欠好说。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

哈哈哈,好了,下一部门。

2.自动内存治理

这一部门可以说是全书最主要、最 JVM 的部门,没有之一。

我犹记得昔时第一次看这书看到这部门的时刻首先看到的一句话:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

墙外的人想进去,墙里的人想出来。

我看完之后,属于墙缝中一脸懵逼的人,不知道是应该进去照样应该出来。

这一部门是我做条记,划线最多的一部门,基本上感受是每句话都是考点,以是看的时刻泛起了许多类似于下面这种情形,一页全是划的线,由于感受全是面试题:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

这一部门是书中的重中之重,以是周志明先生也是在第三版中该部门下足了功夫。

这一部门又分为了 2 到 5 章。都很主要,以是,我们一章章的说。

首先第 2 章《Java 内存区域与内存溢出异常》,一上来就是王炸,我给你看张图你就明晰了:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

这一部门的开篇就抛出了这个经久不衰的“面试图”,你想想若干面试题都是从 这个图出发,然后问到你嫌疑人生的?

而这一部门主要是围绕这几块区域来写,以是,很主要。

第三版相对于第二版而言,对许多地方举行了加倍仔细的弥补说明,好比下面的两个版本对于 Java 堆的形貌(左边第三版、右边第二版,我拍的,全力了,可以点开看大图):

可以看到,在第二版中我框起来,而且用黑线符号了的地方,在第三版内里对于这些名词和区域划分举行了相当长的一段弥补说明,确实是严谨了许多。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

其他的区域形貌转变不大,就不逐一说明晰。

然则有个转变是不得不提的,那就是在 JDK 8 内里已经没有了永远代的概念了,取而代之的是元空间的说法。

以是,在后面模拟方式区的溢出情形时,第三版专门新增了如下内容:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

接下来,我们看看第3 章《垃圾网络器与内存分配计谋》:

这部门,怎么说呢,简直哇塞了,重中之重的重中之重。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

第二版内里看到 G1 网络器的时刻,内里许多器械都没有讲明晰。看完之后,也就只是落下了 G1 把内存“化整为零”的头脑,感受和前面先容的几个垃圾接纳器有显著的区别。

然后就剩下一些看不懂然则又感受很主要的影象集、卡表、写屏障这些名词。

这是可以明晰的,周志明先生写第二版的时刻, JDK 7 才刚刚公布没多久,G1 网络器还停留在实验室阶段,没有现实生产环境的数据去支持。以是许多器械就写的对照模糊。

而在第三版中,对这一部门的内容我看了、也举行对比了,可以说是完全重新写了这一部门。

然后第三版中,还浓墨重彩的先容了 JDK 11 和 JDK 12 中新泛起的 ZGC 和 Shenandoah 这两款低延迟、全并发网络器的详细原明晰析。

同时还简短的先容了“标新立异“的不举行垃圾接纳的垃圾接纳器 Epsilon 。

Shenandoah 和 Epsilon 我就不说了。ZGC 很有可能是下一批次的高频面试题,由于据官方态度,这就是垃圾网络器未来的发展偏向。

这里就不睁开说明晰,总之很值得去学习一下。

除了垃圾网络器这部门对于 G1 的内容重写,新增 ZGC、Shenandoah、Epsilon 内容外。

这一章节还新增了影象集和卡表(用于解决跨代引用)、三色符号(引出并发符号问题)、增量更新和原始快照(为领会决并发符号问题)、写屏障(增量更新和原始快照的实现原理)这些理论知识。

有了这些理论知识,对于 HotSpot 的设计的明晰就加倍容易一点。而这些,在第二版中是没有的。

好了,看一下两个版本第三章的目录对比吧(左边第三版,右边第二版):

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

左边第三版我用红框框起来的部门都是新增的内容。

第 4 章《虚拟机性能监控、故障处置工具》。这一章节是最适用的一小节。

两个版本都主要先容了 JDK 自带的 6 个命令行工具,他们主要是:

C# 数据操作系列 – 2. ADO.NET操作

jps:虚拟机历程状态工具。

jstat:虚拟机统计信息监视工具。

jinfo:Java 设置信息工具。

jmap:Java 内存映像工具。

jhat:虚拟机堆转储快照剖析工具。

jstack:Java 客栈跟踪工具。

第三版和第二版在这一章节的主要差异在于 JDK 可视化工具的先容。

除了 JConsole、VisualVM 这两款工具外,第三版还分外先容了 JDK 9 中新增的 JHSDB 调试工具:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

然后还先容了 Java Mission Control 这款可以连续在线的监控工具,工具的界面也是对照炫酷的:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

它天生的讲述包罗下面几类信息:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

然后还先容了 HSDIS:JIT 天生代码反汇编。

这个工具照样很有用的,我之前写文章的时刻剖析代码就用到过,加上几个启动参数就可以输出汇编语言。

配合 JITWatch 工具,有奇效。可以直接看到 Java 源代码、字节码和即时编译天生的汇编代码,也许就是下面这个图的效果:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

类似于通俗人看代码,看到的是表层。用这个工具看代码,你可以看到程序的奇经八脉。

第 5 章《调优案例剖析与实战》。

这一节中的几个案例剖析,都是需要细细品读的,能从别人的实战中学到许多器械,前面的内容掌握了之后,看完案例你也会说一句:害,就这啊,学习了。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

最后的对于 Eclipse 运行速率的调优,我的影象也是很深刻的,由于昔时第一次读到这里的时刻就在我的电脑上实战了一番,确实是有些效果的。

3.虚拟机执行子系统

这一部门,首先讲了类文件的结构,无数英雄好汉都是在这个地方被劝退的。

第一次看完之后我也就记住了个 0xCAFEBABE 了。

什么字段表聚集、方式表聚集、属性表聚集、种种字节码,一切都是关上书立马遗忘的。

然则厥后我发现了,这一部门的内容,没需要去记得那么牢吧。只要知道有这么一个器械,然后当遇到这个知识点的时刻知道来这里翻一下书,就可以了。

换言之,这个地方可以当做工具书来看。

在类文件结构解说完成后,进入了虚拟机类加载机制,我信赖无数人接触“双亲委派模子”就是从这里最先的吧。

这一部门,第三版主要引入了 JDK 9 的模块化系统先容。

由于 Java 模块化系统的引入,导致对类加载部门产生了伟大的影响。

若是说双亲委派模式在此之前有三次被损坏,分别是:

第一次是由于该模式是 JDK 1.2 之后引入的,导致的历史遗留问题。

第二次是模子自身缺陷,导致不能加载 SPI 接口。

第三次是为了追求代码热替换(Hot Swap)。

那么 JDK 9 的模块化就是对于双亲委派模式的第四次损坏。

可以给你对比一下:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

你可以先自己品一品。详细的内容,去翻书吧。

4.程序编译与代码优化

这一部门在第三版中着重重新写了泛型的部门,形貌了 Java 与 C# 里的泛型实现的方式,同时先容了泛型泛起的历史背景。固然,另有提到泛型就不得不提到的类型擦除。

语法糖,也是我在这本书的这一章节中学到的词。

前段时间很火的面试题:Java 所有的工具实例都在堆中分配内存,对吗?

在这一章节也有谜底:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

然则要特殊说明的是,需要注重书中的注脚:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

着实你翻回去看书中对 Java 堆的先容:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

**我做条记的地方,书中写的是“险些”、“不那么绝对”。你就知道,此事必有蹊跷。 **

然后这一部门的第 11 章,名称发生了转变,从晚期(运行期)优化到后端编译与优化。(左边第二版,右边第三版)

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

同时,可以看到第三版新增了一个小节专门讲提前编译器的,剖析了提前编译的优劣得失。

第三版还多了一个深入明晰 Graal 的实战。

这玩意就厉害了,之前写文章的时刻准备阶段也用过这个工具。用作者的话说:写到这里,笔者忍不住感伤, Graal 编译器的泛起对学习和研究虚拟机代码编译手艺着实有着不可估量的价值。

5.高效并发

这一部门的内容主要是讲 java 内存模子(JMM)和线程以及线程平安和锁优化部门。

这一部门由于转变不大,我就不做过多的先容了,着实我以为这部门的内容和 JVM 已经不是慎密相关了,只是一个扩充内容。

若是需要更多的领会多线程编程的手艺,照样需要去阅读其他的专门形貌多线程编程的书籍。

第三版在这个部门,多先容了 Java 未来基于协程的新并发模子。

Java 支持协程应该是异常难题的了。好比说个简朴的:协程中遇到传统的线程同步措施应该怎么去处置?

很难去解决这种棘手的问题。

然则 Java 的解决方案是纤程。详细是什么我就不说了,有兴趣的去翻翻书吧。

着实这块不知道我以为影响也不大,由于在我短短的程序员职业生涯中,我以为我应该还不会和纤程打交道。属于有生之年系列。

若是你知道了呢?

那么恭喜你,同伙,又学到了一个基本上用不到的知识点。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

好了,上面的内容,我从五大部门去剖析了第三版的新增内容。

接下来,我送你书中我发现的 5 个彩蛋吧。

五个彩蛋

固然,这五个彩蛋是对我而言的,从我小我私家的角度出发,对我是彩蛋,每小我私家的看法都不一样。

先说明一下,我的第二版是 2016 年 5 月第 13 次印刷。第三版是 2020 年 1 月第 1 次印刷。印刷版本不一样,可能有细微差别。

彩蛋一

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

在书的开篇。

第二版说:时至今日,Java 手艺系统已经吸引了 900 多万软件开发者,这是全球最大的软件开发团队。

第三版说:时至今日,Java 手艺系统已经吸引了 600 多万软件开发者,这是全球最大的软件开发团队。

第二版写于 2011 年,第三版写于 2019 年,短短 8 年的时间,少了 300 多万从业者。

作者说他的数据来源于 Java 的广告词。我不知道是统计维度的转变导致的 300 多万的差距,照样真的就是少了这么多人。

彩蛋二

2.4.3 小节(方式区和运行时常量池溢出):

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

彩蛋藏在第三版的注脚中。为此,我还专门写过一篇文章,有兴趣的可以去阅读一下。

《深入明晰Java虚拟机》第2版挖的坑终于在第3版中被R大填平了

彩蛋三

在第 3 章《垃圾网络器与内存分配计谋》中第二版和第三版中一个形貌不一样(上面是第二版,下面是第三版):

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

很明显,上面第二版的形貌中对于 Full GC 的形貌是错误的。

然则巧就巧在我一次面试的过程中,一个面试者说 Full GC 是指老年月 GC,说的那叫一个信誓旦旦。他说在书内里看到的。

我回来一翻书,发现还真是这样的,惋惜这个地方写的有点问题,在第三版中举行了重新形貌,Full GC 一定是整堆网络的,同伙们。

后面也有人在我的文章中评论过相关问题,我也是用这个彩蛋回覆的。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

彩蛋四

第五部门,关于线程状态的形貌,第二版中有个笔误,把 6 种状态写成了 5 种,第三版中修复了过来(下图中,上面是第二版,下面是第三版):

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

然则我发现第三版的状态图画的又有问题了(左边第三版,右边第二版):

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

第二版的状态图是没有问题的,第三版中:New 到 Running 之间和 Running 到 Terminated 之间是双箭头,这是纰谬的。

彩蛋五

第三版,312页,在讲动态分配的知识点的时刻有这么一处示例代码:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

很明显,作者想写的是 guy,手抖打成了 gay 。问题不大,就是有点怪怪的。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

一个笔误带来的小彩蛋。

我与JVM的故事

然后,分享一下我和 JVM 之间的故事吧。

绝不夸张的说,我刚刚结业的时刻对于 JVM 是完全不领会的。仅限于听说过这个词。

大三的时刻在外实习了一年,写了一年的 CRUD (增删改查),做了两个外包的政府项目,着实所有的需求都不庞大,都是可以通过增删改查几个接口的组合实现的。

以是一年以后,我以为程序员似乎也不是那么难,CRUD 写的那叫一个炉火纯青。膨胀到以为靠着这一身 CRUD 的硬手段,我可以去北京闯一闯。

幸好,2016 年找工作的时刻 JVM 的面试题感受似乎还不是稀奇的普及,至少对于一个刚刚结业的应届生而言,以是面试了好几家公司,都没有问一个 JVM 相关的试题。

厥后,我对照顺利的进入了一家公司。加入这家公司的两个月后,就是长达 7 天的国庆节。

在国庆之前,我买了这本书。国庆七天没有出门,把第二版撸完了一遍。

啃的是异常的艰难,可以说是囫囵吞枣。许多器械完全是靠死记硬背,打开书,什么都知道。一合上书:刚刚看的是啥来着?

我信赖许多同伙第一次看这书的时刻和我的感受都差不多。现在回想起来都是很正常的,都说了是内功心法了,仅仅不到一年的工作经验很难去修炼这种上乘武功的。

只是随着工作经验的增添,加上对于不懂的地方我举行了频频阅读,最后才算是懵懵懂懂,感受是吸收了一点点,可以应付一下面试了。

等到后面通读了几遍后。你会发现,这书就算你读了百遍,其意也没有自见。仅仅是带你进入了 JVM 的大门而已。

固然,我不是说这本书欠好,而是 JVM 原本就是一个很有难度的学科。不是你读一两本书就能搞明晰的,它仅仅是一个带你入门的角色。

门内里的天下,与我而言,深不见底。

好比我之前写过几篇 JVM 相关的文章,厥后有读者来问我由文章延伸出来的问题,我也不知道:

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

我写的时刻接触到了这部门的知识,然则翻阅了一下相关资料,发现是异常庞大的,以是我也就没有深入研究下去了。

我举这个例子的目的是说:JVM 是学无止境的,固然你背几道面试题也是能够应付已往的。然则你真的不想真正的领会的更多一点吗?武林秘笈就摆在你眼前,你不想去翻一翻吗?

着实,从我入行到现在,4 年时间,每年我都能看到“新”的 JVM 的文章泛起。而这些“新”的 JVM 文章内里装的都是一些老酒。

固然我不是说这样欠好。这样没有问题,每年的“新”文章都是别人看了相关知识后自己总结出来的,分享了出来,而我们看到了也是可以温故而知新的,这样是双赢。

只是,我们为什么不直接从源头看起呢。源头说来说去也不外乎就那几本书而已,其中就包罗文章说的这本。

最后分享一下我看这书的一个小小的转变吧:

2016 年我第一次读这书的时刻,虽然看不懂,然则以为这简直就是圣经啊!

2020 年的现在,我有了一点工作经验,读了几回这书后,衍生了其他的知识点后,才发现,这本书着实就是个科普入门级别而已。

没有不敬的意思,而是 JVM 真的是一门博大精深的学问。而任何一门博大精深的学问都不可能是你看一两本书就能掌握的,只能说是入门。

而且永远也别想着读一遍就能把这本吸收完,说着实的,你能完整的读完一遍就算不错了。

当你凝望深渊的时刻,深渊也在看着你。当你学习 JVM 的时刻,JVM 也在拉着你“越陷越深”。

总之,我照样很推荐购置的。

最后说一句

这篇文章感受像是这本书的软文似的,然则没有关系,我就是这本书的自来水,从中学习、收获了许多。总体上来说,这是一本异常值得被更多人知道的书。

哦,对了。这篇文章在某平台首发之后《深入明晰Java虚拟机》的作者周志明先生也看到了,并举行了赞赏。

我的天啊!本人的高光时刻,这是莫大的激励!

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可! 《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

点个赞吧,周更很累的,不要白嫖我,需要一点正反馈。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可! 才疏学浅,难免会有纰漏,若是你发现了错误的地方,还请你留言给我指出来,我对其加以修改。(我每篇手艺文章都有这句话,我是认真的说的。)

感谢您的阅读,我坚持原创,十分迎接并感谢您的关注。

我是 why,一个仅仅写了几篇文章的程序猿,不是大佬,然则喜欢分享,是一个又暖又有料的四川好男子。

迎接关注民众号【why手艺】,坚持输出原创。分享手艺、品味生涯,愿你我共同进步。

《深入明白Java虚拟机》第 3 版内里到底多了哪些知识点?本文竟然得到了本书作者的认可!

本文使用 mdnice 排版

原创文章,作者:28x29新闻网,如若转载,请注明出处:https://www.28x29.com/archives/8387.html