Java Nulling Class指针?

时间:2014-07-27 23:11:05

标签: java ram

我觉得这个问题很明显,但我认为仍然应该问这些问题是为了安全。

如果我有一个接受参数的类,并且我不断使用相同的引用名称但不同的参数调用同一个类,我是否必须将前一个类实例置空以防止ram被每个新实例所占用?例如

 RandomClass className = new RandomClass(argument1);
 while(className.classMethod() != null){
     className = new RandomClass(argument i)
     i++;
 }

我假设带有参数的className会在调用带有argument2的className时被销毁吗?或者我必须

 RandomClass className = new RandomClass(argument1);
 while(className.classMethod() != null){
     className = new RandomClass(argument i);
     className = null;
     i++;
 }

为了安全起见?

2 个答案:

答案 0 :(得分:3)

在进入循环之前,你有

className --> 1234 // an identifier of the object for our purposes

循环迭代后

className --> 9542 

变量className引用了一个不同的对象,现在你的程序不再拥有一个带有标识符1234的对象的引用。因此它最终将被垃圾收集。您不需要将null分配给变量。 (有一些非常罕见的情况你会这样做,但不要去找那些麻烦。)

答案 1 :(得分:3)

不需要null变量,新的Java和C#/ C ++引擎将负责垃圾收集,RAM也不会丢失。

相关问题