图片


这本书的第一版之前看过,到第三版,内容增加了许多。看完它,花了我一个多月的业余时间,可以说是有空就打开电脑里的 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 肯定是必需的,并发量一上来,性能问题也是必现的;而且这块也是计算机发展的前沿技术,可以投入大的精力。理是这么个理,真能学到什么水平,就未知了。路漫漫...


更多相关文章

  1. 那些垃圾收集器,及特点
  2. 从对象生命周期的经验统计到垃圾回收算法
  3. 什么样的 Java 对象会被当垃圾回收?
  4. 为什么不推荐使用finalize方法,来看看对垃圾回收有什么影响吧
  5. 和字节跳动面试官学长聊了聊人生~
  6. jvm系列(4)垃圾回收机制
  7. Java 8 最快的垃圾搜集器是什么?
  8. 成为 Java GC 专家( 3 ): 如何优化 Java 垃圾回收机制

随机推荐

  1. jquery datatables-一个数据表中的最大列
  2. jQuery 点击div, 向上展示内容
  3. 拒绝拖放到tabel的第一个子单元格
  4. 使用JQuery显示和隐藏不同div的onClick事
  5. IE 10和11中的灰度?
  6. 如何让代码等待好/取消按钮选择?
  7. jquery刷新iframe页面的方法
  8. jQuery - 加载gif的延迟显示
  9. 使用类似$(“。someClass”)的JQuery确定元
  10. jquery和jsDom的区别和转换