???????????????????????????

1 public class Singleton {
2     private static Singleton instance;
3     private Singleton (){}
4     public static Singleton getInstance() {
5     if (instance == null) {
6         instance = new Singleton();
7     }
8     return instance;
9     }
10 }

????????д??lazy loading??????????????????????????????????????
 

?????????????????????????

1     public class Singleton {
2     private static Singleton instance;
3     private Singleton (){}
4     public static synchronized Singleton getInstance() {
5     if (instance == null) {
6         instance = new Singleton();
7     }
8     return instance;
9     }
10   }
11

????????д????????????к???????????????????????????lazy loading???????????????Ч?????99%????2?????????
 

???????????????????.
``````````````````````````````````````````````````
  ??????????????classloder???????????????????????????instance????????????????????????????????к?????????????д???????????getInstance?????? ?????????????????????????????????????????????????????????????instance?????д?lazy loading??Ч????
 

????????????????????????

1 public class Singleton {
2     private Singleton instance = null;
3     static {
4     instance = new Singleton();
5     }
6     private Singleton (){}
7     public static Singleton getInstance() {
8     return this.instance;
9     }
10 }

?????????????????????????????????????????????????????????instance??