虚拟机内存:
线程独有: 程序计数器 虚拟机栈 本地方法栈
线程共有: Java堆 方法区(运行时常量池) 注 :永久代
Java 堆 给Java对象分配内存的方法 : 1 .指针碰撞 2 空闲列表
对象存储布局分为3块区域:对象头,实例数据,对齐填充
Java heap space Java堆内存泄漏或内存溢出 通过设置 -Xms -Xmx
StacKOverflowError 虚拟机栈内存 -Xss
1 线程请求的栈深度大于虚拟机所允许的最大深度 StacKOverflowError
2 虚拟机在扩展栈时无法申请到足够的内存空间 OutOfMemoryError
PermGen space 方法区和运行时常量池 -PermSize -MaxPermSize
本机直接内存溢出
如果OOM后dump文件很小,则可能是程序直接或者间接使用了NIO