内存溢出 ava.lang.OutOfMemoryError: Java heap space


强迫垃圾收集,获得一个堆的对象快照。
做任何工作可能正在导到无意的对象引用保持。
强迫另一次垃圾收集并获得第二次堆的对象快照。
比较这两个快照,观察从第一个快照到第二个快照哪些对象在数量上有所增加。因为你在快照之前强迫垃圾收集,剩下的将是所有被应用程序引用的对象,比较两个快照将准确的标识那些新创建的、保留在应用程序里的对象。
根据你对应用程序的认识,决定两个快照比较中,哪些对象正在无意的保持对象引用。
跟踪前导引用,找到哪些对象正在引用这些无意的保持对象,直到你找到导致此问题的源对象

启动虚拟机的时候,加上一个参数:-Xms800m -Xmx800m就好了
-Xms <size>
设置JVM初始化堆内存大小

-Xmx <size>
设置JVM最大的堆内存大小

如果是应用程序,则:java -Xms800m -Xmx800m 你的类名
如果是tomcat之类的web服务器,在这个服务器的启动文件后面加上这个参数即可。

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
        at org.jaxen.expr.IdentitySet.contains(IdentitySet.java:73)
        at org.jaxen.expr.DefaultStep.evaluate(DefaultStep.java:165)
        at org.jaxen.expr.DefaultLocationPath.evaluate(DefaultLocationPath.java:
154)
        at org.jaxen.expr.DefaultAbsoluteLocationPath.evaluate(DefaultAbsoluteLo
cationPath.java:117)
        at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:108)
        at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:705)
        at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:227)
        at org.dom4j.xpath.DefaultXPath.selectNodes(DefaultXPath.java:132)
        at org.dom4j.tree.AbstractNode.selectNodes(AbstractNode.java:166)
        at com.sunland.jdata.Pm01XmlFactory.readSourceData(Pm01XmlFactory.java:1
20)
        at com.sunland.jdata.Pm01XmlFactory.readSourceDataDir(Pm01XmlFactory.jav
a:95)
        at com.sunland.operation.Pm01DbBean.done(Pm01DbBean.java:28)
        at com.sunland.factory.Pm01Task.doCreate(Pm01Task.java:44)
        at com.sunland.factory.Pm01Task.run(Pm01Task.java:31)
        at com.sunland.jdata.MainStart.main(MainStart.java:69)

发布了48 篇原创文章 · 获赞 14 · 访问量 49万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章