java堆内存详解



java堆的特点
《深入理解java虚拟机》是什么描述java堆的

Java堆(Java Heap)是java虚拟机所管理的内存中最大的一块

java堆被所有线程共享的一块内存区域

虚拟机启动时创建java堆

java堆的唯一目的就是存放对象实例。

java堆是垃圾收集器管理的主要区域。

从内存回收的角度来看, 由于现在收集器基本都采用分代收集算法, 所以Java堆可以细分为:新生代(Young)和老年代(Old)。 新生代又被划分为三个区域Eden、From Survivor, To Survivor等。无论怎么划分,最终存储的都是实例对象, 进一步划分的目的是为了更好的回收内存, 或者更快的分配内存。

java堆的大小是可扩展的, 通过-Xmx和-Xms控制。

如果堆内存不够分配实例对象, 并且对也无法在扩展时, 将会抛出outOfMemoryError异常。


----------------------------------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyyjxw.html