目录 一、运行时数据区域 1.1 程序计数器 1.2 Java虚拟机栈 1.2.1 局部变量表 1.3 本地方法栈 1.4 Java堆 1.5 方法区 1.6 运行时常量池 1.7 直接内存 二、HotSpot虚拟机对象探秘 2.1 对象的创建 2.1.1 类加载 2.1.2 分配内存 2.1.3 初始化 2.1.4 对对象的设置 2.1.5 方法 2.2 对象的内存布局 2.2.1 对象头 2.2.2 实例数据 2.2.3 对齐填充 2.3 对象的访问定位 三、实战:OutOfMemoryError异常 3.1 Java堆溢出 3.1.1 解决方法