Java单例模式&static成员变量 区别

时间:2023-03-09 16:04:18
Java单例模式&static成员变量 区别
当需要共享的变量很多时,使用static变量占用内存的时间过长,在类的整个生命周期。
而对象只是存在于对象的整个生命周期。
Java单例模式&static成员变量 区别
//饿汉式
class Single//类一加载,对象就已经存在了。
{
private static Single s = new Single(); private Single(){} public static Single getInstance()
{
return s;
}
}
//懒汉式
class Single2//类加载进来,没有对象,只有调用了getInstance方法时,才会创建对象。
//延迟加载形式。 并发过程中存在安全隐患。
{
private static Single2 s = null; private Single2(){} public static Single2 getInstance()
{
if(s==null)
s = new Single2();
return s;
}
}