1.什麼是單例模式併發
單例模式和名字同樣就是隻有單個實例對象存在,有時候咱們只須要一個對象若是每次都new一個同樣的,這樣會給JVM的內存形成負擔從而也會是GC時間變長。好比咱們使用Spring的時候Bean默認都是單例的,由於咱們只要使用裏面的一些統一的執行方法,不須要到多態的特性。性能
在Spring中,bean能夠被定義爲兩種模式:prototype(多例)和singleton(單例)prototype
singleton(單例):只有一個共享的實例存在,全部對這個bean的請求都會返回這個惟一的實例。對象
prototype(多例):對這個bean的每次請求都會建立一個新的bean實例,相似於new。blog
Spring bean 默認是單例模式。內存
2.懶漢模式請求
懶漢能夠理解爲拖延症,要等到deadline的時候纔去處理。也就是再第一次調用的時候採起生成對象。固然這樣最併發放的狀況下會出現多建立對象,加鎖又會影響性能。方法
3.餓漢模式im
餓漢模式就是已經急不可耐了,在系統啓動的時候就要建立出來。這樣的好處就不會出現懶漢模式併發的問題,缺點就是影響啓動時間,若是沒用到的話會佔用內存。img