前言
除了程序计数器外,虚拟机内存的其他运行时区域都有发生OutOfMemoryError(OOM)异常的可能;
本文工作分两部分:1.通过代码验证各个运行时区域存储的内容;2.遇到内存溢出异常的时候,如何根据异常的信息快速判断是哪个区域的内存溢出,知道什么样的代码可能会导致这些区域内存溢出,以及出现这些异常后该如何处理;
Java堆溢出
堆用来存储对象实例,只有不停地创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清楚这些对象,那么在对象数量达到堆的最大容量限制后,就会产生内存溢出异常;
本文探讨了Java虚拟机内存管理机制,特别是不同运行时区域的内存分配与回收原理。重点介绍了如何通过代码验证各区域存储的内容,并分析了在遭遇内存溢出异常时如何根据错误信息快速定位问题。
6043

被折叠的 条评论
为什么被折叠?



