A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 花海1989 中级黑马   /  2013-9-5 20:49  /  571 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

       当JVM启动时,使用了-Xms 参数设置的对内存。当程序继续进行,创建更多对象,JVM开始扩大堆内存以容纳更多对象。JVM也会使用垃圾回收器来回收内存。当快达到-Xmx设置的最大堆内存时,如果没有更多的内存可被分配给新对象的话,JVM就会抛出java.lang.outofmemoryerror,你的程序就会当掉。在抛出 OutOfMemoryError之前,JVM会尝试着用垃圾回收器来释放足够的空间,但是发现仍旧没有足够的空间时,就会抛出这个错误。为了解决这个问题,你需要清楚你的程序对象的信息,例如,你创建了哪些对象,哪些对象占用了多少空间等等。你可以使用profiler或者堆分析器来处理 OutOfMemoryError错误。“java.lang.OutOfMemoryError: Java heap space”表示堆没有足够的空间了,不能继续扩大了。“java.lang.OutOfMemoryError: PermGen space”表示permanent generation已经装满了,你的程序不能再装在类或者再分配一个字符串了。
        大多都是这样的,希望可以帮助到你。

评分

参与人数 1黑马币 +2 收起 理由
小石头1990 + 2 很给力!

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马