java - 我们可以显式调用垃圾收集器吗?

标签 java garbage-collection

<分区>

我的应用程序有很多迭代。到目前为止,我还没有遇到任何内存问题。但是从代码层面我可以怀疑有几个地方会导致内存泄漏和内存不足的问题。我正在考虑手动调用垃圾收集器。手动调用垃圾收集器是一种好习惯吗?

最佳答案

您可以使用以下方式调用垃圾收集器:

System.gc();

但这并不意味着它会立即执行。 JVM 决定何时执行它。一般来说,如果 JVM 即将抛出 OutOfMemoryError,调用 System.gc() 不会阻止它。更好地调查为什么会泄漏如此多的内存并在此过程中进行清理。

Java文档:

Calling the gc method suggests that the Java Virtual Machine expend effort toward recycling unused objects in order to make the memory they currently occupy available for quick reuse. When control returns from the method call, the Java Virtual Machine has made a best effort to reclaim space from all discarded objects

关于java - 我们可以显式调用垃圾收集器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15632734/

相关文章:

java - 如何使用流将二维 int 数组转换为单个字符串?

java - Java HttpSession 对象的生命周期是什么?

java - 保留对对象的引用以供将来的方法调用或每次在长方法中获取对象

c# - 为什么 GC 会将对象放入终结队列?

java - 是否可以让 GC 管理 native 对象的生命周期?

java - Java 应用程序中是否完全不存在内存泄漏?

java - 通过注解使用 Hibernate UUIDGenerator

java - 用于求解表达式的简单 Java 计算器

java - 将其存储在mapdb中的最佳方法?

java - 接缝可点击数据表