直到今天,我知道
permgen
空间有一些限制,当这个限制耗尽时,会出现 OutOfMemoryError
,我认为这是正确的,因为我见过 OutOfMemoryError
Permgen空间。
但是 Java虚拟机内部引用说:
方法区的大小不需要固定。随着Java应用程序的运行,虚拟机可以扩展和收缩方法区以适应应用程序的需求。
那么,当JVM可以扩展时,为什么还会出现错误?是否有扩展的限制?
http://frankkieviet.blogspot.co.il/2006/10/classloader-leaks-dreaded-permgen-space.html
http://www.kdgregory.com/index.php?page=java.outOfMemory
http://plumbr.eu/blog/what-is-a-permgen-leak
http://javaeesupportpatterns.blogspot.co.il/2011/02/outofmemoryerror-permgen-patterns-part1.html - Yaneeve