1、什么是堆内存?

Java 中的堆是 JVM 所管理的最大的一块内存空间,主要用于存放各种类的实例对象。
在 Java 中,堆被划分成两个不同的区域 :
-新生代 ( Young )、
- 老年代 ( Old )。

新生代 ( Young ) 又被划分为三个区域 :
- Eden、
- From Survivor、
- To Survivor。

这样划分的目的是为了使 JVM 能够更好的管理堆内存中的对象,包括内存的分配以及回收。

2、堆内存的作用是什么?

在虚拟机启动时创建。

堆内存的唯一目的就是创建对象实例,所有的对象实例和数组都要在堆上分配。

堆是由垃圾回收来负责的,因此也叫做“GC堆”,垃圾回收采用分代算法,堆由此分为新生代和老年代。

堆的优势是可以动态地分配内存大小,生存期也不必事先告诉编译器,因为它是在运行时动态分配内存的


收藏 打印