gpt4 book ai didi

java -> System.gc();此调用是否打开一个新线程?

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:33 25 4
gpt4 key购买 nike

比如我这样一段代码

...获取一些内存并丢失所有指向该内存的指针,以便 System.gc();可以 Collection 。

调用System.gc();

做一些其他的事情;


这里是“做一些其他的任务”;和“System.gc();”并行工作或“做一些其他任务”;等待“System.gc();”待执行

谢谢

最佳答案

您可能不应该使用 System.gc()。 C/C++ 用户转向 java 的一个常见误解是他们认为他们需要告诉虚拟机何时可以执行垃圾收集。现实情况是,垃圾收集器经过高度优化,并在感觉最好时自行执行此任务。通常不建议调用 System.gc()。

如果您确实调用了 System.gc(),它会“建议”系统执行垃圾收集。尽管它通常会执行收集,但实际上可能不会执行收集。是否在另一个线程中运行取决于实际的收集算法。默认的将在运行时阻止所有内容。因此它可能在单独的线程中运行,但它会在执行时阻止您当前的执行。

关于java -> System.gc();此调用是否打开一个新线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2667264/

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