日期:2014-05-20  浏览次数:21056 次

java静态变量过多,如何解决
写了一个程序,但是引用了大量的static变量和全局变量,有什么好的方法解决?
考虑了接口,但是接口中的成员不能改变。。

------解决方案--------------------

// 我们项目目前是这样做的.需要用时就Constant.A.A1   Constant.B.B2
public class Constant {
public class A{
public static final String A1= "A1";
public static final String A2= "A2";
}

public class B{
public static final String B1= "B1";
public static final String B2= "B2";
}
}


------解决方案--------------------
程序开发就是内存管理。不明白你仅仅是不爽,还是内存不足了。如果仅仅不爽,那就习惯习惯吧。如果内存不足,对于java来讲,管理好依赖关系即可,利用classLoader来动态加载就可以控制住内存,不要直接import,而是利用classloader使用时动态加载Constant类,用完就释放引用,GC会帮你清理内存的。

如果是自己管理内存的语言,例如C++,那就把静态变量转化为堆栈变量,做法就是函数直接返回字符串。

这些方法都是以时间换空间。除非你算法极复杂,否则空间也罢,时间也罢,现代计算机都是足够足够的。所以,我认为你看着不爽的可能居大。