设计模式----单例模式
1. 饿汉式
优点 效率高 线程安全
缺点 不能延时加载
public class SingletonDemo1 {
// 1. 私有化构造器
private SingletonDemo1() {}
// 2.初始化单例
private static SingletonDemo1 INSTANCE = new SingletonDemo1();
// 3.全局访问方法
public static SingletonDemo1 getInstance() {
return INSTANCE;
}
}
说明:在类装载的时候会执行 static 代码块儿 也就是在装载的时候就创建了一个实例 INSTANCE 当别的线程调用的时候就只能获取到一开始创建的实例
测试
class test {
public static void main(String[] args) {
// 如果直接new一个对象会直接报错
// SingletonDemo1 singletonDemo1 = new SingletonDemo1();
SingletonDemo1 singleton1 = SingletonDemo1.getInstance();
SingletonDemo1 singleton2 = SingletonDemo1.getInstance();
System.out.println(singleton1 == singleton2);
}
}
结果
singleton.test
true //两个实例相同
Process finished with exit code 0