如何使用Struts2从Java内存中释放ArrayList

如何使用Struts2从Java内存中释放ArrayList,java,arraylist,Java,Arraylist,我有一个类,我有大约10个ArrayList,我是垃圾收集的新手,我学到了从内存中释放对象可以通过三种方式完成。。。 使用匿名对象或将其设为null…但在获取后的操作中,我无法将其设为null,jsp页面中没有显示任何内容。。。这是我的密码 类myAction扩展了ActionSupport{ private ArrayList ShopList1=新的ArrayList(); private ArrayList ShopList2=新的ArrayList(); private ArrayLi

我有一个类,我有大约10个ArrayList,我是垃圾收集的新手,我学到了从内存中释放对象可以通过三种方式完成。。。 使用匿名对象或将其设为null…但在获取后的操作中,我无法将其设为null,jsp页面中没有显示任何内容。。。这是我的密码

类myAction扩展了ActionSupport{
private ArrayList ShopList1=新的ArrayList();
private ArrayList ShopList2=新的ArrayList();
private ArrayList ShopList3=新ArrayList();
private ArrayList ShopList4=新ArrayList();
private ArrayList ShopList5=新ArrayList();
公开执行{
ShopList1.put(“添加20个对象”);
购物清单2.put(“添加20个对象”);
ShopList3.put(“添加20个对象”);
购物清单4.put(“添加20个对象”);
设置商店列表1(商店列表1);
设置购物清单2(购物清单2);
设置购物清单3(购物清单3);
设置购物清单4(购物清单4);
设置商店清单5(商店清单5);
//如果我将所有arrayList设为Null,结果不会显示在JSP中。。。
回归成功;
}
公共阵列列表getShopList1(){
退货清单1;
}
公共无效集合商店列表1(ArrayList商店列表1){
ShopList1=ShopList1;
}
公共ArrayList getShopList2(){
退货清单2;
}
公共无效集合商店列表2(ArrayList商店列表2){
ShopList2=ShopList2;
}
公共阵列列表getShopList3(){
退货清单3;
}
公共无效集合商店列表3(ArrayList商店列表3){
ShopList3=ShopList3;
}
公共阵列列表getShopList4(){
退货清单4;
}
公共无效集合列表4(ArrayList商店列表4){
ShopList4=ShopList4;
}
公共阵列列表getShopList5(){
退货清单5;
}
公共无效集合列表5(ArrayList商店列表5){
ShopList5=ShopList5;
}
} 

因此,我的问题是何时释放arrayList,还是JVM为我释放它。

如果要从列表而不是内存中删除对象,可以使用arrayList.remove(object)

您不能强制垃圾回收器从堆中回收垃圾。通常,当它没有引用时,它会自动符合垃圾收集器的条件

class myAction extends ActionSupport{
private ArrayList<Object> ShopList1=new  ArrayList<Object>();
private ArrayList<Object> ShopList2=new  ArrayList<Object>();
private ArrayList<Object> ShopList3=new  ArrayList<Object>();
private ArrayList<Object> ShopList4=new  ArrayList<Object>();
private ArrayList<Object> ShopList5=new  ArrayList<Object>();
public execute{

ShopList1.put("Adding 20 Object");
ShopList2.put("Adding 20 Object");
ShopList3.put("Adding 20 Object");
ShopList4.put("Adding 20 Object");

setShopList1(ShopList1);
setShopList2(ShopList2);
setShopList3(ShopList3);
setShopList4(ShopList4);
setShopList5(ShopList5);
//If i make All arrayList Null the result does not show up in JSP...
return SUCCESS;
}

public ArrayList<Object> getShopList1() {
            return ShopList1;
        }
        public void setShopList1(ArrayList<Object> shopList1) {
            ShopList1 = shopList1;
        }
        public ArrayList<Object> getShopList2() {
            return ShopList2;
        }
        public void setShopList2(ArrayList<Object> shopList2) {
            ShopList2 = shopList2;
        }
        public ArrayList<Object> getShopList3() {
            return ShopList3;
        }
        public void setShopList3(ArrayList<Object> shopList3) {
            ShopList3 = shopList3;
        }
        public ArrayList<Object> getShopList4() {
            return ShopList4;
        }
        public void setShopList4(ArrayList<Object> shopList4) {
            ShopList4 = shopList4;
        }
        public ArrayList<Object> getShopList5() {
            return ShopList5;
        }
        public void setShopList5(ArrayList<Object> shopList5) {
            ShopList5 = shopList5;
        }

}