小编nme*_*e32的帖子

Java - 为什么为变量赋值"null"并不能使它可用于GC?(在此代码段中)

我正在浏览oracle提供的在线教程.其中一个练习有一个问题如下:


以下代码创建一个数组和一个字符串对象.代码执行后,对这些对象有多少引用?对象是否有资格进行垃圾回收?

...
String[] students = new String[10];
String studentName = "Peter Smith";
students[0] = studentName;
studentName = null;
...
Run Code Online (Sandbox Code Playgroud)

答:有一个对students数组的引用,该数组有一个对字符串Peter Smith的引用.这两个对象都没有资格进行垃圾回收.

(http://docs.oracle.com/javase/tutorial/java/javaOO/QandE/objects-answers.html)


当然最后一行意味着studentName有资格获得GC吗?真的很困惑,我认为这意味着我没有理解"null"的本质,也没有理解对象引用,这就是我要问的原因.

java variables null garbage-collection

3
推荐指数
1
解决办法
3118
查看次数

标签 统计

garbage-collection ×1

java ×1

null ×1

variables ×1