一、數據庫連接池采用單例模式優點
1、減少系統資源開銷,由於單例只保留一個對象。
2、提高創建速度,每次都獲取已經存在的對象因此提高創建速度
3、全局共享對象,由於單例在系統中只存在一個對象實例,因此任何地方使用此對象都是一個對象
避免多實例創建使用時產生的邏輯錯誤。
4、注意多線程下一開始沒有實例,兩個線程都判斷沒有實例,則創建出兩個實例,違反單例模式,所以要加鎖。
靜態內部類的優點是:外部類加載時並不需要立即加載內部類,內部類不被加載則不去初始化INSTANCE,故而不占內存。即當SingleTon第一次被加載時,並不需要去加載SingleTonHoler,只有當getInstance()方法第一次被調用時,才會去初始化INSTANCE,第一次調用getInstance()方法會導致虛擬機加載SingleTonHoler類,這種方法不僅能確保線程安全,也能保證單例的唯一性,同時也延遲了單例的實例化。
5、為什么定義變量是static的,因為他要被static方法使用,所以要定義成static的