歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Java基礎之單例模式

這裡主要講一下單例模式的兩種形式,當然還有其他的實現方式

單例模式的作用主要是確保在java應用中,一個類只用一個實例存在

主要方法是定義一個類,他的構造方法是private的,他的方法都是static的

形式一

在自己的內部定義並實例化一個自己的實例,getInstance()方法是供外部訪問本類使用的,可以直接訪問。

  1. /** 
  2.  * 單例模式一 
  3.  * 一般認為這種形式更安全一些  
  4.  */  
  5. public class Singleton {  
  6.       
  7.     private Singleton(){}  
  8.     private static Singleton instance = new Singleton();  
  9.     private static Singleton getInstance(){  
  10.         return instance;  
  11.     }  
  12. }  

模式二

這種方法比模式一有所改進,不是每次都生成對象,提高了效率

  1. /** 
  2.  * 單例模式二 
  3.  */  
  4. public class Singleton2 {  
  5.     private static Singleton2 instance = null;  
  6.     private static synchronized Singleton2 getInstance(){  
  7.         if(instance == null){  
  8.             instance = new Singleton2();  
  9.         }  
  10.         return instance;  
  11.     }  
  12. }  
Copyright © Linux教程網 All Rights Reserved