Java內存溢出的详细解决方案.docVIP

  • 2
  • 0
  • 约4.38千字
  • 约 3页
  • 2017-06-08 发布于重庆
  • 举报
Java內存溢出的详细解决方案

Java内存溢出的详细解决方案JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。 一、内存溢出类型 1、java.lang.OutOfMemoryError: PermGen space JVM管理两种类型的内存,堆和非堆。堆是给开发人员用的上面说的就是,是在JVM启动时创建;非堆是留给JVM自己用的,用来存放类的信息的。它和堆不同,运行期内GC不会释放空间。如果web app用了大量的第三方jar或者应用有太多的class文件而恰好MaxPermSize设置较小,超出了也会导致这块内存的占用过多造成溢出,或者tomcat热部署时侯不会清理前面加载的环境,只会将context更改为新部署的,非堆存的内容就会越来越多。 PermGen space的全称是Permanent Generation space,是指内存的永久保存区域,这块内存主要是被JVM存放Class和Meta信息的,Class在被Loader时就会被放到PermGen space中,它和存放类实例 Instance 的Heap区域不同,GC Garbage Collection 不会在主程序运行期对PermGen space进行清理,所以如果你的应用中有很CLASS的话,就很可能出现Perm

文档评论(0)

1亿VIP精品文档

相关文档