java静态变量使用场景分析
静态变量
在程序运行期间,类中的静态变量其内存空间对所有该类的实例是共享的,因此在某些时候,为了节省内存空间开销,共享资源,
我们可以将类中的变量声明为静态变量。
但是因为静态变量生命周期太长,并且不易被系统回收,所有如果使用不合理,就会适得其反,从而造成大量内存的浪费。
因此建议在全部符合下列条件的情况下才使用静态变量:
(1)变量所包含的对象体积较大,占用内存较多
(2)变量所包含的对象生命周期较长
(3)变量所包含的对象数据稳定
(4)该类的实例 有 对该变量包含对象的共享需求
一般共享内存用的比较多,共享方法也用的比较多。
1 楼 yedaya 2010-03-29 “该类的实例 有 对该变量包含对象的共享需求”这句具体怎么解释? 2 楼 nannan408 2010-03-30 多个该类的实例,需要共享内存,可以考虑用 static.
比如
public class Test
{
public static int shareVariable = 5;
private int variable;
public static void main(String[] argus)
{
Test t1 = new Test();
Test t2 = new Test();
System.out.println(t1.shareVariable);
System.out.println(t2.shareVariable);
}
}
打印结果:5
5