为什么看这本书?
JVM 这块一直没有系统的学习,在极客时间上买了一个 "深入拆解Java虚拟机" 专栏,专栏是看完了,但是感觉跟看天书一样,基本都忘了。所以希望借助看这本书入个门。
书的整体情况
整书 400 多页,包含了大量 JVM 配置参数与代码实例,我花了周末一天加三个晚上空余时间看完的,七八小时。读起来没那么累,但没去实践还是比较容易忘记。
书提到了这些知识模块:
- Java 与虚拟机的发展历史
- 如何编译 JDK
- Java内存区域
- 内存溢出异常
- 垃圾收集器与内存分配策略
- 虚拟机性能监控与故障处理工具
- 调优案例分析与实战
- 类文件结构
- 虚拟机类加载机制
- 虚拟机字节码执行引擎
- 类加载及执行子系统的案例与实战
- 程序编译与代码优化
- 高效并发
适合阅读人群
熟练使用 Java 语言,开始探索 Java 虚拟机的运行机制。
最大的感触
- 看这本书,就像在听作者说关于 Java 如何运行与优化的故事一样,结构清晰、条理性很好,适合入门 JVM。
- 书中包含了大量的参数配置以及实验代码,JVM 的学习对动手能力要求更高。不去实践配置调整虚拟机的启动参数、不写实验代码,是没法感受到 JVM 在底层到底是如何运行的,它会产生哪些影响,在什么情况下会出问题。
- 了解了 JVM 的内存分布、各种内存溢出导致的原因、垃圾收集算法与各种垃圾收集器的特点、虚拟机的性能监控与故障处理、class 文件结构、类编译加载执行以及各种优化对我们平时写出高质量的 Java 代码也是很有帮助的。
- 本地编译 JDK 是一件有挑战的事情,因为操作系统的环境问题、未公开代码的类库加载、使用了不同的编译器等各种问题,哪怕是一个中文目录也可能让你崩溃。得空自己 high 一把,应该其乐无穷。
- 了解底层不容易,但应该是每个 Java 程序员所向往的,正如作者说的,Java 与 C++ 之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。
- JVM 中关于并发的部分,讲的不够详细、不够深入。
- 我这是看的第一版,后面准备看一下第二版,然后实践书里的参数以及实验代码,画个图分享出来。
【Java面试题与答案】整理推荐