系列 - JVM 内存
JVM 的内存布局与内存模型。
这个系列把「内存」这条线走完整:先看内存区域怎么划(堆、栈、元空间),再看对象在堆上怎么排布(对象头、TLAB),然后是方法调用怎么在栈上执行(虚拟机栈、栈帧),最后落到并发层面的内存模型(JMM)——可见性、有序性、原子性。
开篇那篇 OOM 把 9 种 OutOfMemoryError 的成因集中列了一遍,遇到线上问题时可以当排查清单用。
| # | 篇目 | 这一篇讲什么 |
|---|---|---|
| 01 | Java OOM Error | 9 种不同类型的 OOM 及其成因 |
| 02 | Java-String和intern方法 | 深入分析 String.intern 的实现与行为 |
| 03 | Java虚拟机-内存布局 | Java 虚拟机的内存区域划分 |
| 04 | Java虚拟机-TLAB | 线程本地分配缓冲:并发下如何避免加锁分配 |
| 05 | Java虚拟机-元空间 | 从永久代到元空间的演进 |
| 06 | Java虚拟机-虚拟机栈 | 栈帧结构与方法的执行过程 |
| 07 | Java虚拟机-Java内存模型 | JMM 定义的可见性、有序性与原子性 |