关于static声明的变量的占据的内存问题
工具类:
public class CommonUtil{
public static List<MyEntity> myList1;
public static List<Object> mylist2;
public static List<Integer> mylist2;
}
使用类:
public class Test{
public static void main(...){
CommonUtil.myList1 = new ArrayList<MyEntity>();
CommonUtil,myList1.add(new MyEntity());
}
//....
//执行清理缓存操作
public cleanData(){
CommonUtil,myList1 = null;
}
}
由于在多个类中需要使用到 List<MyEntity> myList1 的结果集,所以把它缓存到静态的空间里 ,当我不再需要这个结果集的时候,在cleanData()中清理掉那些对象手动置null。
我对jvm不太了解 ,我只知道static有区分与栈空间和堆空间的独立存储空间,我手动置null是否可以提醒jvm回收垃圾对象?对于处理可变的静态变量内存回收方法,还有哪些?