浅堆
一个对象结构所占用的内存大小
深堆
一个对象被GC后,可以真实释放的内存大小
只能通过对象访问到的(直接或者间接)所有对象的深浅之和
堆逸出:
占用大量堆空间,直接逸出,
解决方法:增大堆空间,及时释放内存。
永久区逸出:
生成大量的类。
解决方法:增大Perm区,允许Class回收。
Java栈逸出
这里的栈溢出指,在创建线程的时候,需要为线程分配栈空间,这个栈空间是向操作系统请求的,如果操作系统无法给出足够的空间,就会抛出OOM。
解决方法:减少堆内存减少线程栈大小
直接内存溢出
无法从操作系统获得足够的空间
程