其他分享
首页 > 其他分享> > JVM 堆

JVM 堆

作者:互联网

核心概述


内存细分

Java8
在这里插入图片描述

设置大小

Java堆的大小在JVM启动时就设定好

通常将起始内存、最大内存设置成相同,这使得Java垃圾回收机制清理堆区后不重新分配计算堆区的大小,提升性能

年轻代与老年代

在这里插入图片描述
Java对象分为两类:

Java堆区进一步划分为



对象分配过程

概述

为新对象分配内存时严谨、复杂的任务,JVM设计者需要考虑内存如何分配、在哪分配、GC执行完成内存回收是否会在内存空间产生内存碎片

垃圾回收频繁发生在新生区,很少再老年区、几乎不在元空间发生

垃圾回收

JVM进行GC时,大部分时候是真的新生区,针对HotSpot VM的实现,GC按照回收区域分为部分收集(Partial GC)、整堆收集(Full GC),垃圾收集会触发STW,暂停用户线程

堆空间分代思想

不同对象的生命周期不一样,7到9成对象时临时对象

内存分配策略

针对不同年龄段的对象分配原则

TLAB(Thread Local Allocation Buffer)

堆空间常用的jvm参数


逃逸分析

代码优化

逃逸分析不成熟

标签:对象,XX,GC,内存,JVM,老年
来源: https://blog.csdn.net/m0_46369347/article/details/120294101