餓漢式是立即加載的方式,無論是否會用到這個對象,都會加載。如果在構(gòu)造方法里寫了性能消耗較大,占時較久的代碼,比如建立與數(shù)據(jù)庫的連接,那么就會在啟動的時候感覺稍微有些卡頓,線程安全。(通過static對象直接加載)
懶漢式,是延遲加載的方式,只有使用的時候才會加載。 并且有線程安全的考量。使用懶漢式,在啟動的時候,會感覺到比餓漢式略快,因為并沒有做對象的實例化。 但是在第一次調(diào)用的時候,會進行實例化操作,感覺上就略慢,非線程安全的(也可以實現(xiàn)線程安全)。(getinstance的時候加載(延遲加載))
單例模式
1. 構(gòu)造方法私有化
2. 靜態(tài)屬性指向?qū)嵗?/p>
3. public static的 getInstance方法,返回第二步的靜態(tài)屬性