深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常

章节概览

本章节分为 2 个部分,运行时数据区域和 HotSpot 虚拟机揭秘。前者讲述了虚拟机中的内存结构分为了 5 个部分,后者讲述了对象的创建过程、内存布局、对象访问。


第 2 章节思维导图(更新于2019年4月7日)
深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常

笔记

1. 常见的有:String.intern()

深入解析String.intern() - 美团技术团队

2. 不同线程预先分配不同的空间,称为 TLAB ,可通过设置来决定是否使用

TLAB:本地线程分配缓冲(Thread Local Allocation Buffer)

3. HotSpot虚拟机对象揭秘 => 对象的内存布局 => 对象头

对象头的信息:
深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常

4. 对象的对象访问 => 句柄

通过句柄访问对象示意图:
深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常

5. 对象的对象访问 => 直接指针

通过指针直接访问对象示意图:
深入理解JVM - 阅读笔记之思维导图 - 第 2 章 JAVA内存区域与内存溢出异常