在 Java 虚拟机规范中,定义了五种运行时数据区,分别是 Java 堆、方法区、虚拟机栈、本地方法区、程序计数器 [hide reply_to_this="true"] [/hide] [collapse title="堆内存"] 堆是OOM故障最主要的发生区域,Java 堆是所有线程共享的,它在虚拟机启动时就会被创建 Java 堆是内存空间占据的最大一块区域了,Java 堆是用来存放对象实例及数组,也就是说我们代码中通过 new 关键字 new 出来的对象都存放在这里,存储着几乎所有的实例对象、数组。。所以这里…