我已经看到许多Thread java示例和Runnable对象被创建为任务并传递给线程。 由于没有对这些任务的引用,为什么这个任务不被java垃圾收集? 或者是垃圾收集,我在这里问错了问题? 请分享您宝贵的想法。
答案 0 :(得分:3)
您没有对对象的显式引用并不意味着内部JVM对象不能保存对象。
举个例子:
frame.add(new JButton("foobar"));
从开发人员的角度来看,没有对它的引用,但内部框架有一个组件列表。这是线程发生的情况,内部调度程序必须保证对它们的引用。
线程本身将在从调度程序释放时被垃圾收集(因此不再有效地存在引用)