java内存分配策略

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java内存分配策略相关的知识,希望对你有一定的参考价值。

对象的内存分配,从大方向将就是在堆上分配,对象主要分配在新生代的Eden区上,如果启动了本地线程分配缓存,将按线程优先在TLAB上分配。

1. 对象优先在Eden区分配:大多数情况下,对象在新生代Eden区中分配。

2. 大对象直接进入老年代:这里的大对象是指需要大量连续内存空间的java对象,例如很长的字符串以及数组

3. 长期存活的对象将进入老年代:一定次数的Minor GC后仍然存活的对象,将进入老年代

4. 动态对象年龄判定:为了动态更好地适应不同程序的内存状况,虚拟机并不是永远地要求对象的年龄必须达到了MaxTenuringThershod才能晋升为老年代

5. 空间分配担保

以上是关于java内存分配策略的主要内容,如果未能解决你的问题,请参考以下文章

Java内存学习笔记05-内存分配与回收策略

java中内存分配策略及堆和栈的比较

内存分配与回收策略

java内存分配策略

深入理解Java虚拟机 -- 内存分配与回收策略

Java内存分配策略