内存溢出的问题及解决

 

 如上面代码所示,不断向堆内存中加入对象,会造成异常:Exception in thread “main” java.lang.OutOfMemoryError: Java heap space,运行过程中计算机内存不断上升直到报错。

 

 

可以通过添加参数-XX:+HeapDumpOnOutOfMemoryError -Xms20m -Xmx20m 来输出堆存储快照,在项目目录下出现名为java_pid24672.hprof的文件。如果想解析该文件,需要下载Eclipse提供的解析器MemoryAnalyzer,下载地址为:https://www.eclipse.org/mat/downloads.php 通过该软件打开java_pid24672.hprof文件可以看到内存的实际应用情况,判断内存溢出原因。

 

posted @ 2021-11-03 16:37  鹏了个鹏鹏  阅读(209)  评论(0)    收藏  举报