java - JVM 是否在系统中存储内存?如果有,如何清除?

标签 java garbage-collection jvm out-of-memory

我正在使用 NetBeans 运行应用程序,并且在项目属性中我已将最大 JVM 堆空间设置为 1 GiB。

但是,应用程序仍然因内存不足而崩溃。

JVM 是否有内存存储在系统中?如果是这样,如何清除该内存?

最佳答案

您需要使用分析器分析您的代码 - Netbeans 有一个很好的分析器。这将向您显示应用程序中内存占用的位置,并且应该让您了解问题出在哪里。

JVM 会在内存耗尽之前尽可能多地收集对象,因此您很可能在不再需要引用后很长时间仍持有它们。要么,要么您的应用程序确实是一个需要大量内存的应用程序 - 但我想说它更有可能是代码中的错误,特别是如果问题仅在长时间运行应用程序后才出现.

关于java - JVM 是否在系统中存储内存?如果有,如何清除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14519188/

相关文章:

javascript - 防止此 javascript 代码中的内存泄漏?

java - 强制执行 JVM GC - 有充分的理由(我希望)

java - Java中为一个Integer对象分配多少内存?如何找出任何自定义对象的这个值?

Java引用不能用作指针?

java - 洗牌算法

java - 如何识别永久空间

java - 当老一代的jvm超过某个比例时如何自动转储内存?

java - 这段代码是如何工作的以及输出是什么..这看起来很简单

java - UDP 套接字数据报接收数据包 2x 以获取完整消息

java - 在运行时为 OS 释放 java 内存