《深入理解Java虚拟机》读书笔记

2020-07-21  

为什么看这本书?

JVM 这块一直没有系统的学习,在极客时间上买了一个 "深入拆解Java虚拟机" 专栏,专栏是看完了,但是感觉跟看天书一样,基本都忘了。所以希望借助看这本书入个门。

 

书的整体情况

整书 400 多页,包含了大量 JVM 配置参数与代码实例,我花了周末一天加三个晚上空余时间看完的,七八小时。读起来没那么累,但没去实践还是比较容易忘记。

书提到了这些知识模块:

  • Java 与虚拟机的发展历史
  • 如何编译 JDK
  • Java内存区域
  • 内存溢出异常
  • 垃圾收集器与内存分配策略
  • 虚拟机性能监控与故障处理工具
  • 调优案例分析与实战
  • 类文件结构
  • 虚拟机类加载机制
  • 虚拟机字节码执行引擎
  • 类加载及执行子系统的案例与实战
  • 程序编译与代码优化
  • 高效并发


适合阅读人群

熟练使用 Java 语言,开始探索 Java 虚拟机的运行机制。


最大的感触

  • 看这本书,就像在听作者说关于 Java 如何运行与优化的故事一样,结构清晰、条理性很好,适合入门 JVM。
  • 书中包含了大量的参数配置以及实验代码,JVM 的学习对动手能力要求更高。不去实践配置调整虚拟机的启动参数、不写实验代码,是没法感受到 JVM 在底层到底是如何运行的,它会产生哪些影响,在什么情况下会出问题。
  • 了解了 JVM 的内存分布、各种内存溢出导致的原因、垃圾收集算法与各种垃圾收集器的特点、虚拟机的性能监控与故障处理、class 文件结构、类编译加载执行以及各种优化对我们平时写出高质量的 Java 代码也是很有帮助的。
  • 本地编译 JDK 是一件有挑战的事情,因为操作系统的环境问题、未公开代码的类库加载、使用了不同的编译器等各种问题,哪怕是一个中文目录也可能让你崩溃。得空自己 high 一把,应该其乐无穷。
  • 了解底层不容易,但应该是每个 Java 程序员所向往的,正如作者说的,Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。
  • JVM 中关于并发的部分,讲的不够详细、不够深入。
  • 我这是看的第一版,后面准备看一下第二版,然后实践书里的参数以及实验代码,画个图分享出来。

 

ConstXiong 备案号:苏ICP备16009629号-3