gpt4 book ai didi

java - gc方法如何工作?

转载 作者:行者123 更新时间:2023-12-01 18:26:48 26 4
gpt4 key购买 nike

public class GarbageC {
public void finalize()
{
System.out.println("Finalize method");
}
public static void main(String[] args) {
GarbageC c1=new GarbageC();
GarbageC c2=new GarbageC();
c1=null;
c2=null;
System.gc();
System.out.println("abc");
}
}

当我调试此代码时,o/p 为

Finalize method
Finalize method
abc

当我运行时,我得到了这个

abc
Finalize method
Finalize method

为什么我在这两种情况下得到不同的输出

最佳答案

调用System.gc()是一个请求。运行时不必收集垃圾作为响应。它很可能决定忽略你。因此,您不能依赖它始终如一地做同样的事情。

有可能,在 Debug模式下,它确实会导致运行垃圾收集。在非 Debug模式下,它要么不收集垃圾,要么等到合适的时机才收集垃圾。

关于java - gc方法如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25853964/

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