深入理解Java虚拟机:JVM高级特性与最佳实践(第2版) 读后感

简介: 写这篇读后感的缘由是这本书的第三版即将面世了,先拜谢周教授,相信很多人得益于周教授的这本书。

写这篇读后感的缘由是这本书的第三版即将面世了,先拜谢周教授,相信很多人得益于周教授的这本书。


14年入手的第二版,当时准备跳槽,需要理论知识武装一下。于是囫囵吞枣的扫了第一遍,就两个字,不懂,那种感觉就仿佛身在雾中,一切都看不通透,感觉浑身不舒服,想来是自己水平太渣了。


那个时间点是在工作2年,加上大学4年,接触java将近6年的时间,在项目组内基本上属于横着走,跟同学出牛,“只要能说明白需求,我就能做出来”。结果,一本关于Java虚拟机的书,居然还看不懂,真是备受打击啊。


现在想来,听过我出牛的同学心中一定是各种鄙视,所谓“无知者无畏”,所以才敢吹牛。这就是认知边界在作怪了,知道的越少,以为世界就越简单,也就越以为自己无所不能了。


我属于学渣,通常碰到这种看不懂的书,一般就扔边上吃灰了。碰巧是当时刚搬家,新住处网络奇差,ping值一般1000以上,玩LOL时刚冲锋就掉线送人头,风骚走位玩不了,也就弃玩了。闲来无事,就打算再翻翻这本让自己没面子的书。


第二次读的时候就挑着看,想的是,反正看不懂,看多少算多少,能看明白就是赚了(真是感谢当时自己的佛系心态)。


这本书分了几个部分,各部分可以独立学习,就挑了第二部分,这部分主要分为:JVM的自动内存管理、常见的垃圾收集算法以及垃圾收集器的特点和工作原理、常见虚拟机监控与故障处理工具的原理和使用方法。这部分比较偏上层应用,更像是数据结构和算法,抛开了JVM协议,更适合当时的自己(自己当时也就能看明白这一部分,手动捂脸哭)。


静下心来慢慢学的时候才发现,书中的知识还是比较容易理解的,而且能够和工作中的经历联系起来。比如讲“虚拟机内存区域的划分原理”和“各种内存溢出异常产生的原因”这两块的时候,就想到工作中各种oom的经历。前面说了,当时在组里横着走(外包公司,大家懂的),碰到问题就得往前冲,所以也经常会碰到这种解决不了的问题。看到这本书,一下粘贴来的解决方法也就明白了。


第二遍的感觉,就仿佛是雾散云消,一切通透了。


Java目前是编程语言使用人数排名第一的,而且是连续多年第一,真真的霸首。而 JVM 又是 Java 赖以运行的根本,所以能够了解JVM的原理,对于Java学习还是很有帮助的。从14年书中将的JDK 7,到现在JDK 13即将发布稳定版,JDK 8的Lambda、JDK 9的模块化、JDK 10的var变量、JDK 11的ZGC,Java的世界进入了高速发展阶段。借着这本书第三版的面世,再读一遍基于JDK 12的JVM虚拟机原理,也算是跟上时代的脚步,别固步自封,犯刚毕业时犯下的错误。


立个flag,等学习完第三版之后再来拔旗。


image.pngimage.pngimage.png

image.png

目录
相关文章
|
1天前
|
缓存 监控 Java
Java中的虚拟机参数配置详解
Java中的虚拟机参数配置详解
|
2天前
|
监控 Java 调度
探秘Java虚拟机(JVM)性能调优:技术要点与实战策略
【6月更文挑战第30天】**探索JVM性能调优:**关注堆内存配置(Xms, Xmx, XX:NewRatio, XX:SurvivorRatio),选择适合的垃圾收集器(如Parallel, CMS, G1),利用jstat, jmap等工具诊断,解决Full GC问题,实战中结合MAT分析内存泄露。调优是平衡内存占用、延迟和吞吐量的艺术,借助VisualVM等工具提升系统在高负载下的稳定性与效率。
14 1
|
4天前
|
Java 编译器
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
Java健壮性 Java可移植性 JDK, JRE, JVM三者关系 Java的加载与执行原理 javac编译与JAVA_HOME环境变量介绍 Java中的注释与缩进 main方法的args参数
7 1
|
4天前
|
存储 监控 算法
深入理解Java虚拟机(JVM)原理与调优技巧
深入理解Java虚拟机(JVM)原理与调优技巧
|
4天前
|
监控 Java 测试技术
Java中的JVM调优技巧
Java中的JVM调优技巧
|
4天前
|
Java API Maven
使用Java Libvirt API 访问虚拟机信息
使用Java Libvirt API 访问虚拟机信息
6 1
|
5天前
|
Java UED 开发者
JVM逃逸分析原理解析:优化Java程序性能和内存利用效率
JVM逃逸分析原理解析:优化Java程序性能和内存利用效率
|
5天前
|
IDE Java Linux
在Maven中设置JVM系统参数及Java应用调试实例
在Maven中设置JVM系统参数及Java应用调试实例
13 0
|
4天前
|
缓存 Java
《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)
《JVM由浅入深学习九】 2024-01-15》JVM由简入深学习提升分(生产项目内存飙升分析)
10 0
|
5天前
|
存储 缓存 算法
详解JVM内存优化技术:压缩指针
详解JVM内存优化技术:压缩指针