java.lang.OutOfMemoryError:Java堆空间

java.lang.OutOfMemoryError:Java堆空间

在执行多线程程序时,我会收到以下错误

java.lang.OutOfMemoryError: Java heap space

上述错误发生在其中一个线程中。

  1. 据我所知,堆空间只被实例变量占用。如果这是正确的,那么当在对象创建时分配空间(例如,变量的空间)之后,为什么会在运行之后发生此错误。

  2. 有没有办法增加堆空间?

  3. 我应该对我的程序做什么修改,这样它才能占用更少的堆空间?


跃然一笑
浏览 400回答 3
3回答

慕婉清6462132

1.-是的,但它很大程度上是指程序使用的全部内存。2.-是的,见JavaVM选项-Xms<size>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;initial&nbsp;Java&nbsp;heap&nbsp;size-Xmx<size>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;set&nbsp;maximum&nbsp;Java&nbsp;heap&nbsp;size伊java -Xmx2g将2G内存分配给应用程序但是你应该先看看有没有内存泄漏。3.-这取决于程序。试着发现内存泄漏。这个问题很难回答。最近,您可以使用JConsole进行概要分析,试图找出您的内存将位于何处。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java