歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java基礎之單例模式

Java基礎之單例模式

日期:2017/3/1 11:15:01   编辑:Linux編程

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

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

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

形式一

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

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

模式二

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

  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