虽然我使用Xm标志设置了初始和最大内存,但有时会冻结,我们有一个Java应用程序,它有点大,需要太多内存,我们得到OutOfMemoryError1-2分钟后(如果我们很幸运).
如果发生这种情况,我们需要重启应用程序.
我们通过一个只运行命令行的本机c应用程序运行该程序.
Xmx旗帜怎么办?如果我没有设置Xmx标志怎么办?
然后,JVM默认为应用程序的(通常适度)内存大小.
这是否意味着无限的内存使用?
没有.
如何在C或Java中冻结应用程序?
修复内存泄漏1.
请注意,我回答的问题使用'release'而不是'realize'.仔细考虑之后,我觉得答案应该保持完全相同."释放(记忆)"或"实现(存在问题)"并不能真正解决问题.最好的方法是解决实际问题(内存泄漏).
作为旁白.我不认为问题出在C代码中,但是一个简单的测试(从命令行启动应用程序)应该显示出任何一种方式.我认为问题是Java代码的原因OutOfMemoryError是(可能是)功能齐全的JVM检测到它.
如果是C app.曾经使用过JVM为自己或应用程序保留的内存空间.我猜这个错误会有很大的不同,可能是这样的:JVM internal error..
其他贡献者提供了一系列好的建议,我将在这里重温一下.
close():
| 归档时间: |
|
| 查看次数: |
212 次 |
| 最近记录: |