gpt4 book ai didi

java - Runtime.getRuntime().gc() 在 Java 8 中继续使用或有什么不同吗?

转载 作者:行者123 更新时间:2023-11-30 08:47:26 26 4
gpt4 key购买 nike

System类和Runtime类中都有gc()方法,System类的gc()方法调用Runtime的gc()方法。

public static void gc() {
Runtime.getRuntime().gc();
}

根据运行时类中 gc() 的 Java 代码文档

Calling this 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 virtual machine has made its best effort to recycle all discarded objects.

调用 Runtime.getRuntime().gc() 时有什么特别的事情发生吗?如果我调用它而不调用它会发生什么?

我已经知道什么?

调用 gc() 不会立即调用垃圾收集器,当垃圾收集应该发生时它会调用 jvm。

编辑

我想了解为什么 gc() 在 Java8 中仍然存在。其他线程上的讨论没有被接受的答案,而且很旧。

最佳答案

也许你正在写 a benchmarking library在运行基准测试时尽量减少 GC 的干扰对您来说很重要。

所以你可能想要to call gc() between runs (因为您正在编写低级别的东西,并且您知道在实践中您所针对的 JRE 实际上会在调用 gc() 时运行 GC)...

关于java - Runtime.getRuntime().gc() 在 Java 8 中继续使用或有什么不同吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32439777/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com