Java設計模式-單例模式-懶漢式(執行緒安全)
- 2020 年 3 月 17 日
- 筆記
優缺點說明
1)解決了執行緒不安全問題
2)效率太低了。每個執行緒在想獲得類的實例時候,執行getInstance()方法都要進行同步。而其實這個方法只執行一次實例化程式碼就夠了,後面的想獲得該類實例,直接return就行了。方法進行同步效率太低
3)結論:在實際開發種,不推薦使用這種方式
public class SingletonTest03 { public static void main(String[] args) { Singleton03 instance = Singleton03.getInstance(); Singleton03 instance01 = Singleton03.getInstance(); System.out.println(instance == instance01); System.out.println("instance,hashCode= " + instance.hashCode()); System.out.println("instance01,hashCode= " + instance01.hashCode()); } } class Singleton03{ private static Singleton03 instance; private Singleton03(){} public static synchronized Singleton03 getInstance(){ if(instance == null){ instance = new Singleton03(); } return instance; } } // 運行結果 true instance,hashCode= 1846274136 instance01,hashCode= 1846274136