3. 不⼿动指定三个指标的情况下,这三个指标(MinHeapSize,MaxHeapSize,InitialHeapSize)是如
何计算的
4. 压缩对象指针相关机制(涉及 JVM 参数:UseCompressedOops)(全⽹最硬核 JVM 内存解
析 - 5.压缩对象指针相关机制开始)
1. 5. 压缩对象指针存在的意义(涉及 JVM 参数:ObjectAlignmentInBytes)
2. 压缩对象指针与压缩类指针的关系演进(涉及 JVM 参数:
UseCompressedOops,UseCompressedClassPointers)
3. 压缩对象指针的不同模式与寻址优化机制(涉及 JVM 参数:
ObjectAlignmentInBytes,HeapBaseMinAddress)
6. 为何预留第 0 ⻚,压缩对象指针 null 判断擦除的实现(涉及 JVM 参数:
HeapBaseMinAddress)
7. 结合压缩对象指针与前⾯提到的堆内存限制的初始化的关系(涉及 JVM 参数:
HeapBaseMinAddress,ObjectAlignmentInBytes,MinHeapSize,MaxHeapSize,InitialHeapSize
)
8. 使⽤ jol + jhsdb + JVM ⽇志查看压缩对象指针与 Java 堆验证我们前⾯的结论
1. 9. 验证 32-bit 压缩指针模式
2. 验证 Zero based 压缩指针模式
3. 验证 Non-zero disjoint 压缩指针模式
4. 验证 Non-zero based 压缩指针模式
10. 堆⼤⼩的动态伸缩(涉及 JVM 参数:
MinHeapFreeRatio,MaxHeapFreeRatio,MinHeapDeltaBytes)(全⽹最硬核 JVM 内存解析
- 6.其他 Java 堆内存相关的特殊机制开始)
11. 适⽤于⻓期运⾏并且尽量将所有可⽤内存被堆使⽤的 JVM 参数 AggressiveHeap
12. JVM 参数 AlwaysPreTouch 的作⽤
13. JVM 参数 UseContainerSupport - JVM 如何感知到容器内存限制
14. JVM 参数 SoftMaxHeapSize - ⽤于平滑迁移更耗内存的 GC 使⽤
7. JVM 元空间设计(全⽹最硬核 JVM 内存解析 - 7.元空间存储的元数据开始)
1. 8. 什么是元数据,为什么需要元数据
2. 什么时候⽤到元空间,元空间保存什么
1. 3. 什么时候⽤到元空间,以及释放时机
2. 元空间保存什么
4. 元空间的核⼼概念与设计(全⽹最硬核 JVM 内存解析 - 8.元空间的核⼼概念与设计开始)
1. 5. 元空间的整体配置以及相关参数(涉及 JVM 参数:
MetaspaceSize,MaxMetaspaceSize,MinMetaspaceExpansion,MaxMetaspaceExpansio
n,MaxMetaspaceFreeRatio,MinMetaspaceFreeRatio,UseCompressedClassPointers,Co
mpressedClassSpaceSize,CompressedClassSpaceBaseAddress,MetaspaceReclaimPo
licy)
2. 元空间上下⽂ MetaspaceContext
3. 虚拟内存空间节点列表 VirtualSpaceList
4. 虚拟内存空间节点 VirtualSpaceNode 与 CompressedClassSpaceSize
评论