Java 内存区域详解
写在前面 (常见面试题)
基本问题
拓展问题
一 概述
二 运行时数据区域
2.1 程序计数器
2.2 Java 虚拟机栈
2.3 本地方法栈
2.4 堆
2.5 方法区
2.5.1 方法区和永久代的关系
2.5.2 常用参数
2.5.3 为什么要将永久代 (PermGen) 替换为元空间 (MetaSpace) 呢?
2.6 运行时常量池
2.7 直接内存
三 HotSpot 虚拟机对象探秘
3.1 对象的创建
Step1:类加载检查
Step2:分配内存
Step3:初始化零值
Step4:设置对象头
Step5:执行 init 方法