深入理解 JVM 是 Java 程序员进阶的必经之路。
1. 运行时数据区
- 堆 (Heap): 存放对象实例,GC 的主要区域。分为新生代(Eden, S0, S1)和老年代。
- 栈 (Stack): 存放方法调用栈帧(局部变量、操作数栈)。线程私有。
- 方法区 (Method Area): 存放类信息、常量、静态变量。Java 8 后称为元空间(Metaspace)。
- 程序计数器: 记录当前线程执行的字节码行号。
- 本地方法栈: 为 Native 方法服务。
深入理解 JVM 是 Java 程序员进阶的必经之路。