跳至主要內容

♥JVM相关知识体系详解♥

张启忻大约 7 分钟

♥JVM相关知识体系详解♥

提示

本系列将给大家构建JVM核心知识点全局知识体系。

知识体系

学习要点

不同的虚拟机实现方式上也有差别,如果没有特别指出,这里的JVM指的是sun的HotSpot;不同的JDK版本略有差别,这里主要以1.8为主,具体差异请看各个章节中详解。下图主要表示的逻辑关系,用来将所有知识点放到一张图里,帮助你理解。

A. Java进阶 - JVM相关 知识体系 : 首先按照上述 学习思路 ,理解总体知识点在全局上与知识体系之间的对应关系。

B. Java进阶 - JVM相关 类加载 : 然后理解类字节码和类的加载机制。

  • JVM基础 - 类字节码详解
    • 源代码通过编译器编译为字节码,再通过类加载子系统进行加载到JVM中运行
  • JVM基础 - 字节码的增强技术
    • 在上文中,着重介绍了字节码的结构,这为我们了解字节码增强技术的实现打下了基础。字节码增强技术就是一类对现有字节码进行修改或者动态生成全新字节码文件的技术。接下来,我们将从最直接操纵字节码的实现方式开始深入进行剖析。
  • JVM基础 - Java 类加载机制
    • 这篇文章将带你深入理解Java 类加载机制

C. Java进阶 - JVM相关 内存结构 : 因为类字节码是加载到JVM内存结构中的,所以紧接着理解JVM内存结构。

D. Java进阶 - JVM相关 JMM : 然后通过理解JVM与硬件之间的联系,理解Java 通过其内存模型保证数据线程安全等,这是JVM在并发上底层的支持。

  • JVM基础 - Java 内存模型引入
    • 很多人都无法区分Java内存模型和JVM内存结构,以及Java内存模型与物理内存之间的关系。本文从堆栈角度引入JMM,然后介绍JMM和物理内存之间的关系, 为后面 JMM详解 , JVM 内存结构详解 , Java 对象模型详解 等铺垫。
  • JVM基础 - Java 内存模型详解
    • 本文主要转载自 Info 上 深入理解Java内存模型 在新窗口打开 open in new window , 作者程晓明。这篇文章对JMM讲的很清楚了,大致分三部分:重排序与顺序一致性;三个同步原语(lock,volatile,final)的内存语义,重排序规则及在处理器中的实现;java 内存模型的设计,及其与处理器内存模型和顺序一致性内存模型的关系

E. Java进阶 - JVM相关 GC : 再者理解下Java GC机制,如何回收内存等。

F. Java进阶 - JVM相关 排错调优 : 最后围绕着调试和排错,分析理解JVM调优参数,动态字节码技术及动态在线调试的原理;学会使用常用的调工具和在线动态调试工具等。

学习文献