答案 0 :(得分:3)
答案 1 :(得分:1)
答案 2 :(得分:0)
你不能“使用”垃圾收集。它是语言及其对象模型的基础部分。
为了澄清这一点,我们只考虑类类型(如String
和Integer
),并忽略基本类型(如int
和{{1 }})。 (数组类型也被视为类类型。)假设char
是类类型。
在Java中,与其他语言不同,您永远不会拥有类类型的变量。每当您声明变量T
时,T x;
实际上是一种“跟踪引用”。该引用可以是x
,也可以引用类型为null
的现有对象。但是对象本身必须始终显式,动态创建:
T
T x = new T();
引用的那个对象存在于计算机中一些无法直接操作的魔法管理部分。但是,您可以创建更多参考:
x
现在出现了一个自然的问题:当没有更多的引用时,对象会发生什么?答案是垃圾收集:当没有对某个对象的进一步引用时,它就有资格在稍后的非确定性时间点被清除。这就是唯一方式,可以在其中恢复与对象关联的资源。
如果没有垃圾收集,你可以在Java中以任何定义明确,健壮的方式完全没有任何对象。