- 单例模式只允许创建一个对象,因此节省内存,加快对象访问速度,因此对象需要被公用的场合适合使用,如多个模块使用同一个数据源连接对象等等
 
-    网站的计数器,一般也是采用单例模式实现,否则难以同步
 
-   单例模式要素: 
        a.私有构造方法 
        b.私有静态引用指向自己实例 
        c.以自己实例为返回值的公有静态方法  
- 单例模式在多线程的 应用场合下必须小心使用
 
- 多线程可能调用同一个方法,可能没有创建实例导致多个实例被构造,违反单例模式原则
 
- public class MySingleton {  
 
-     volatile private static MySingleton instance = null;  
 
-       
 
-     private MySingleton(){}  
 
-        
 
-     public static MySingleton getInstance() {  
 
-         try {    
 
-             if(instance != null){
 
-                   
 
-             }else{  
 
-                 
 
-                 Thread.sleep(300);  
 
-                 synchronized (MySingleton.class) {  
 
-                     if(instance == null){
 
-                         instance = new MySingleton();  
 
-                     }  
 
-                 }  
 
-             }   
 
-         } catch (InterruptedException e) {   
 
-             e.printStackTrace();  
 
-         }  
 
-         return instance;  
 
-     }  
 
- } 
 
lock 单例模式
原文:http://www.cnblogs.com/Mypark/p/7656160.html