在类中我这样使用该类不变的几个参数,因为考虑到该类可能产生多个实例,为了节省
内存而使用了静态常量和静态块来对该静态常量进行初始化:
public class exampleA {
// 需要设置权限按钮的函数列表
final static List methodsList = new ArrayList();
// 初始化需要设置按钮权限的函数列表
static {
// 获取处理流程页面
methodsList.add(new String("AssignedDetail"));
// 修改
methodsList.add(new String("forupdate"));
methodsList.add(new String("update"));
// 分配
methodsList.add(new String("getAssignedJsp"));
methodsList.add(new String("updateassigned"));
// 处理
methodsList.add(new String("fordeal"));
methodsList.add(new String("deal"));
// 解决
methodsList.add(new String("resolved"));
// 关闭
methodsList.add(new String("getClosedJsp"));
methodsList.add(new String("closedForAppraisalAndinsertKn"));
methodsList.add(new String("closedAndinsertKn"));
methodsList.add(new String("closed"));
// 升级
methodsList.add(new String("escalateToManager"));
}
......
}
我的同事告诉我,这样使用有可能造成该变量或者成员常驻内存,不如使用非静态的,这样JAVA的垃圾回收器会随时回收使用过的内存,声明成静态的,就不能释放了
内存而使用了静态常量和静态块来对该静态常量进行初始化:
public class exampleA {
// 需要设置权限按钮的函数列表
final static List methodsList = new ArrayList();
// 初始化需要设置按钮权限的函数列表
static {
// 获取处理流程页面
methodsList.add(new String("AssignedDetail"));
// 修改
methodsList.add(new String("forupdate"));
methodsList.add(new String("update"));
// 分配
methodsList.add(new String("getAssignedJsp"));
methodsList.add(new String("updateassigned"));
// 处理
methodsList.add(new String("fordeal"));
methodsList.add(new String("deal"));
// 解决
methodsList.add(new String("resolved"));
// 关闭
methodsList.add(new String("getClosedJsp"));
methodsList.add(new String("closedForAppraisalAndinsertKn"));
methodsList.add(new String("closedAndinsertKn"));
methodsList.add(new String("closed"));
// 升级
methodsList.add(new String("escalateToManager"));
}
......
}
我的同事告诉我,这样使用有可能造成该变量或者成员常驻内存,不如使用非静态的,这样JAVA的垃圾回收器会随时回收使用过的内存,声明成静态的,就不能释放了