我在面试中遇到了这个问题,有以下选项:
How to destroy an object in java?
a. System.gc();
b. Runtime.getRuntime.gc();
c. object.delete();
d. object.finalize();
e. Java performs gc by itself, no need to do it manually.
答案应该是 e?
如果 e 不存在怎么办?然后 ? 显然 c 不是答案。 a 和 b 将为整个应用程序执行 gc(问题需要一个对象)。 我认为它是 d 因为 Finalize() 在 gc 之前调用(但是在 Finalize gc 之后是否有必要调用?)或者我错了? e 必须在那里回答这个问题吗?
最佳答案
答案 E 是正确答案。如果 E 不存在,您很快就会耗尽内存(或)没有正确答案。
对象应该无法访问才有资格进行 GC。 JVM 会进行多次扫描,并将对象从一代移动到另一代,以确定 GC 的资格,并在对象不可达时释放内存。
关于java - java中如何销毁一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50750834/