设计模式的代码:https://github.com/Aerozb/design_patterns
参考链接:https://www.cnblogs.com/xz816111/p/8470048.html
public class Singleton {
//记得加volatile关键字,禁止重排序,否则会不安全,为啥不安全可以参考这篇文章
private static volatile Singleton singleton;
public static Singleton getInstance(){
if (singleton==null){
synchronized (Singleton.class){
if (singleton==null){
singleton=new Singleton();
}
}
}
return singleton;
}
public static void main(String[] args) {
new Thread(new Runnable() {
@Override
public void run() {
System.out.println( "我是第一个:"+ Singleton.getInstance());
}
}).start();
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("我是第二个:"+ Singleton.getInstance());
}
}).start();
}
}