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

1 public class Singleton {
2     private static class SingletonHolder {
3     private static final Singleton INSTANCE = new Singleton();
4     }
5     private Singleton (){}
6     public static final Singleton getInstance() {
7         return SingletonHolder.INSTANCE;
8     }
9 }

 

???????????????????classloder???????????????instance?????????????????????????????????????????????????????????????????Singleton???????????instance???????????д?lazy loadingЧ????????????????Singleton????????instance?????????????????SingletonHolder????б??????????????????????getInstance????????????????SingletonHolder??????????instance????????£?????????instance??????????????????????????????????棬????????Singleton????????????????????????Singleton????????????????????????????????????????????????instance?????????????????????????????????????????ú?????
 

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

1 public enum Singleton {
2     INSTANCE;
3     public void whateverMethod() {
4     }
5 }

????????????Effective Java????Josh Bloch ????????????????????????????????????????????л????′????μ??????ν??????????????????????????????1.5?в????enum?????????????д????????о????裬?????????У??????????????????д????
 

??????????????У????????

1 public class Singleton {
2     private volatile static Singleton singleton;
3     private Singleton (){}
4     public static Singleton getSingleton() {
5     if (singleton == null) {
6         synchronized (Singleton.class) {
7         if (singleton == null) {
8             singleton = new Singleton();
9         }
10         }
11     }
12     return singleton;
13     }
14 }

??????????????????????棬??????????????????????????http://www.ibm.com/developerworks/cn/java/j-dcl.html
??????JDK1.5???????????????????????????Ч????
 

???????
????????????????????
????1?????????????????????????????п???????????????????????????????????????Щservlet?????????servlet?????????????  ???????????????????????servlet?????????????????????и?????????
????2?????Singleton?????java.io.Serializable????????????????????????л?????????????????????????л???????????????????????????????????????ж??????????????