JAVA堆

JAVA堆

1、被所有线程共享的一块内存区域

2、几乎所有实例都要在这里分配内存

3、GC主要的工作区域,GC主要采用分代收集算法

4、JAVA堆分为新生代和老生代;再细分,Eden空间,From Survivor空间,To Suivivor空间

5、线程共享的JAVA堆会划分出多个线程私有的线程缓冲区(Thread Local Allocation Buffer,TLAB)

6、可通过-Xms 和 -Xmx 控制

7、堆中没有内存完成实例分配,并且堆也无法再扩展时,抛出OutOfMemoryError

原文地址:https://www.cnblogs.com/zxcgy/p/6648823.html