《深入理解 Java 虚拟机·第三版》读书笔记
这本书的第一版之前看过,到第三版,内容增加了许多。看完它,花了我一个多月的业余时间,可以说是有空就打开电脑里的 PDF 瞅一会,而且看到觉得有收获时还会画画图、精简知识结构记录到博客里。
书的整体情况
700 多页,基本都是干货,适合 Java 进阶。
提到了这些知识模块
Java 的发展史
JVM 的发展史
各种 JVM
编译 JDK
各种内存溢出
内存回收与分配
垃圾回收算法
各种垃圾收集器
JVM 故障处理
Class 文件结构
字节码指令
类加载
字节码执行
编译优化
从 JVM 角度看 Java 并发
最大的感触
Java 相关书籍中,这本花的精力最多,看的时间最长,收获最大。工作写多了业务代码,从 JVM 和字节码层面去把玩程序的运行,有种视野豁然开朗的感觉,乐趣横生。就书本内容而言,作者的用词非常严谨,而且补充了很多批注,详实且结构清晰,很多章节的末尾都有实战示例,感觉作者有实力又走心。
没有一定高度,很难做到像作者一样,像讲故事一样就把知识输出了。我提炼了书中一些章节的核心知识点,画到思维导图里,方便自己不断加深理解。收获最大的部分是,自动内存管理、Class 文件的结构、字节码指令、虚拟机的执行机制。有哪些垃圾回收算法?有哪些垃圾收集器?垃圾收集器之间如何配合工作?有哪些常用的 JVM 参数?Java 对象内存的布局是什么样的?OOM 有哪些种类?JVM 的内存区域是如何划分的?有哪些 JVM 性能与故障分析工具?Class 的结构是什么样的?如何被加载的?如何执行的?编译如何被优化的?JVM 是如何支持多线程、支持并发的?感觉是隐约理解了这些问题,算是 JVM 有点入门。看本书之前,我扫了一遍极客时间上郑雨笛的专栏《深入拆解 Java 虚拟机》,用 "扫" 这个词是因为学起来实在太费劲,90% 的内容没法真正理解。所以果来断研究此书,补一波 JVM 基础,后面再找些调优的专栏深入一下,就不会那么吃力了。决定深入学习 JVM 之前,觉得自己悟出了一个道理。就是把 Java 虚拟机搞精通,随便到哪个公司都是专家,不管公司的技术栈如何, JVM 肯定是必需的,并发量一上来,性能问题也是必现的;而且这块也是计算机发展的前沿技术,可以投入大的精力。理是这么个理,真能学到什么水平,就未知了。路漫漫...
更多相关文章
- 那些垃圾收集器,及特点
- 从对象生命周期的经验统计到垃圾回收算法
- 什么样的 Java 对象会被当垃圾回收?
- 为什么不推荐使用finalize方法,来看看对垃圾回收有什么影响吧
- 和字节跳动面试官学长聊了聊人生~
- jvm系列(4)垃圾回收机制
- Java 8 最快的垃圾搜集器是什么?
- 成为 Java GC 专家( 3 ): 如何优化 Java 垃圾回收机制