请问以下两种情况,静态变量是否有可能被回收,变成空指针
1、static final String a = "123";
请问a是否始终等于"123"
2、有类A:
public class A {
private String a;
public String GetA(){
return a;
}
public A(String a){
this.a=a;
}
}
定义静态变量
static final A b=new A("123");
请问这个静态b,会不会被回收变成null?b.GetA(),是否始终等于"123"
这方面概念一直一知半解的,而且也不好测试,所以请教一下大家
------解决方案--------------------
java基础,之所以用static就是就是固定分配空间,避免其被收回,,,,
------解决方案--------------------
静态变量在类被加载的时候分配内存,在进程结束的时候会被销毁。再进程运行的时候,只要你的static变量没有被销毁也没有置null,则不会被GC回收。