记录一个单例模式代码
单例模式懒汉式(静态内部类)
本文是个人记录的知识点,如果有问题欢迎大家指正
懒汉式(静态内部类)
这种写法即解决安全问题,有解决性能问题
//懒汉式(静态内部类)
//这种写法即解决安全问题,有解决性能问题
public class Singleton {
//1.先声明一个静态内部类
//private 私有的保证别人不能修改
//static 保证全局唯一
private static class LazyHolder{
//final为了防止内部误操作
private static final Singleton INSTANCE = new Singleton();
}
//2.将默认方法构造化
private Singleton() {}
//3.同样提供静态方法获取实例
//final确保别人不能覆盖
public static final Singleton getInstance() {
return LazyHolder.INSTANCE;
}
public static void main(String[] args) {
Singleton s1 = Singleton.getInstance();
Singleton s2 = Singleton.getInstance();
System.out.println(s1 == s2);
for(int i=0;i<10; i++) {
new Thread(()->
System.out.println(Singleton.getInstance().hashCode())
).start();
}
}
}