Java不用的变量是否自动回收
Java中没有用的变量是否就自动被当成垃圾回收了?
下面这段代码:
public class A{
...
public void X(){
String a;
a=new String();
...
}
...
}
是否每次调用X()都会给a分配新的内存空间,以前给a分配的内存空间时间长了就会被自动释放(回收)?
和下面这段代码比
public class A{
String a;
...
public void X(){
a=new String();
...
}
...
}
后面这段代码会不会更能节省内存空间?效率更高?
------解决方案--------------------java垃圾回收器什么时候运行那是没办法预测的!有人说当内存使用率大于95%时,会运行垃圾收集,但也不一定!还有,你那两只方法都不是好的!String 不要使用new String()!String a = "";最好!