目录 1 入门部分 1.1 为什么要学习 JVM? 1.2 你了解哪些 JVM 产品? 1.3 JVM 的构成有哪几部分? 2 类加载部分 2.1 你知道哪些类加载器? 2.2 为什么需要多个类加载器? 2.3 什么是双亲委派类加载模型? 2.4 双亲委派方式加载类有什么优势、劣势? 2.5 描述一下类加载时候的基本步骤是怎样的? 2.6 什么情况下会触发类的加载? 2.7 类加载时静态代码块一定会执行吗? 2.8 如何理解类的主动加载和被动加载? 2.9 为什么要自己定义类加载器,如何定义? 2.10 内存中一个类的字节码对象可以有多个吗? 3 JVM 运行内存部分 3.1 JVM 运行内存是如何划分的? 3.2 JVM 中的程序计数器用于做什么? 3.3 JVM 虚拟机栈的结构是怎样的? 3.4 JVM 虚拟机栈中局部变量表的作用是什么? 3.5 JVM 虚拟机栈中操作数栈的做用是什么? 3.6 JVM 堆的构成是怎样的? 3.7 Java 对象分配内存的过程是怎样的?