java permenent space(转载)_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java permenent space(转载)

java permenent space(转载)

 2012/3/1 9:34:51  晃点大尾巴狼  程序员俱乐部  我要评论(0)
  • 摘要:VM的Permanentgenerationspace,实际上就是方法区,存储了下面两种类型的数据:1.Class的节本信息PackageNameSuperclasspackagenameClassorinterfaceTypemodifiersSuperinferfacepackagename2.其它信息TheconstantpoolforthetypeFieldinformationMethodinformationAllclass(static
  • 标签:Java
VM 的Permanent generation space,实际上就是方法区,存储了下面两种类型的数据:



1.Class的节本信息

Package Name
Super class package name
Class or interface
Type modifiers
Super inferface package name



2.其它信息

The constant pool for the type
Field information
Method information
All class (static) variables declared
in the type, except constants
A reference to class ClassLoader
A reference to class Class



本来SUN设计的时候认为这个区域在JVM启动的时候就固定了,但他没有想到现在动态会用得这么广泛。而且这个区域有特殊的垃圾收回机制,现在的问题是动态加载类到这个区域后,gc根本没办法回收!

现在开发中最常见的错误莫过于Permgen Space!




解决办法:

1,把不必要的 jar 文件清理出 lib;
2,不要频繁地进行 reload;
3,增加 PermGen Space 内存区域,默认是 64MB,可以采用 -XX:MaxPermSize 这个 JVM 参数改这块区域改大一些,这个参数详见:
http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

如果用的是 Tomcat 的话,可以在 catalina.bat 开始处增加一行 set JAVA_OPTS=-XX:MaxPermSize=128m

发表评论
用户名: 匿名