现在,有关讨论JAVA
内存泄漏的文章很多。java的内存泄漏基本上按照内存区域的划分可以分为:
堆(heap)内存泄漏:大家都比较熟悉
栈(stack)内存泄漏:当前
线程运行期间维护的中间变量等信息过多,例如常见的死
循环引起stack over flow
方法区(permanent heap)内存泄漏:分析其原因的文章较少,本文的着重点。
网上关于讨论PermGen OOM的资料很多,但是深入分析PermGen区域内存溢出原因的资料很少。本篇文章尝试全面分析一下PermGen OOM的原因,其中涉及到了Java虚拟机运行时数据区、类型装载、类型
卸载等,测试代码涉及到了JMX
协议。
【相关知识】
Java类加载相关的知识,《Java类加载原理简析》中
结合JDK的代码实现对Java类加载的原理做了比较深入的分析.
原文章来自
http://www.cnb
logs.com/zhuxing/articles/1247621.html