按照官方的说法:Java虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。 JVM主要管理两种类型内存:堆和非堆,堆内存(HeapMemory)是在Java虚拟机启动时创建,非堆内存(Non-heap Memory)是在JVM堆之外的内存。简单来说,非堆包含方法区、JVM内部处理或优化所需的内存(如JITCompiler,Just-in-time