堆内存(Heap) 堆是由Java虚拟机(JVM,下文提到的JVM特指Sun hotspot JVM)用来存放Java类.对象和静态成员的内存空间,Java程序中创建的所有对象都在堆中分配空间,堆只用来存储对象,应用程序通过存放在堆栈(Stack)内的引用来访问堆数据,一个JVM进程只能拥有一个堆.JVM通过-Xms和-Xmx参数分别设置堆的初始值和最大值,初始值默认是物理内存的1/64但小于1G,最大值默认是物理内存的1/4但小于1G .默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx…