虚拟机启动时创建,是运行时数据区域中最大的一块绝大部分对象都在堆中,也有不在堆中的对象对Java堆细分的目的,只是为了更好的回收内存,或更快的分配内存Java堆可以处于不连续的内存空间中,但逻辑上应该连续;同时,对于大对象,如数组,更多的虚拟机是为数组分配连续的内存空间,从而达到实现简单、存储高效的目的