以下问题:
- 我开始我开发的程序(-Xmx550M)
- 我加载了一个 90 MB 的文件
这个加载是下图中已用堆的峰值。此后,堆大小从 130 MB 增加到 500 MB,尽管只需要 110 MB。
好吧,没问题,烦人,但是还可以。但是,如果我现在启动一个保存过程(大约需要 100 MB),Java VM 会因 java.lang.OutOfMemoryError: Java heap space 异常而崩溃。
如果我以 750 MB 的堆大小启动应用程序,它可以正常工作。您会看到短暂的峰值,并且工作正常:
现在我的问题是:为什么我会得到一个 550 MB 堆大小的 OutOfMemoryError?该应用程序只需要 400 MB(在最高峰)!
我不知道如何解决这个问题:(
请帮我!