【发布时间】:2012-06-28 06:20:15
【问题描述】:
我有一些关于 java 垃圾收集器的问题。
首先让我澄清一下我对Java GC.的理解
GC 是一个后台线程,当 JVM 启动时,将始终在后台运行。
每个对象都有一个 finalize() 方法。此方法用于释放
对象被销毁之前的系统资源。根据java专家的说法,
我们不应该将资源放在 finalize() 方法下以释放
系统资源。因为我们无法确定 GC 何时运行。但我们可以
通过调用System.GC() 请求GC 运行。
所以现在我的问题是,GC 是一个后台线程,将始终在后台运行。
现在我们怎么能说我们不知道GC 什么时候会运行呢?是不是这样的声明"we dont know when the GC will call finalize() method "
就是那个意思吗?如果这就是他们的意思,那么工作是什么
GC 的? GC 负责找出未使用的变量并从内存中删除。
那为什么GC也不能调用finalize()方法呢?
【问题讨论】: