浏览 1570 次
锁定老帖子 主题:静态变量和静态块这样使用有什么后果
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-03-11
内存而使用了静态常量和静态块来对该静态常量进行初始化: 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的垃圾回收器会随时回收使用过的内存,声明成静态的,就不能释放了 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-03-11
确实不能释放了,不过数据又不多应该没事,我感觉你用的没错
|
|
返回顶楼 | |
发表时间:2009-03-11
应该没有什么影响,你的数据不多,就几个string而已
但是注意的是不应该往里面添加其他数据,如User对象。。。这样会导致添加的其对象不能被回收。 所以最好是用泛型 另外,如果真的在意那么点空间,可以卸载exampleA 类。就可以回收内存了 |
|
返回顶楼 | |