有关单例模式懒汉式安全的问题(全)
生活随笔
收集整理的這篇文章主要介紹了
有关单例模式懒汉式安全的问题(全)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? 有關單例模式懶漢式安全的問題(全)
單例模式有兩種一種是懶漢式,一種是餓漢式,他們有什么區別呢?
他們建立單例對象的時間不同,懶漢式的特點是延遲加載,當你用到的時候才去建立對象,
還有懶漢式多線程是不安全的,但是他可以有解決辦法,以下內容我會詳細說明。
他們怎么好記呢?
餓漢式,因為餓,所以就它需要迫切的吃東西,所以寫類的時候直接就創建對象。
懶漢式,因為懶,所以它就晚創建對象,特點是延遲加載。當你用到的時候它才會去建立對象。
當多線程的時候懶漢式會有安全問題,但是僅僅在方法前面加一個synchronized又會有效率的
問題,所以一下代碼是一個還算好的代碼,可以用在筆試題上,比其他的更高級
圖1
圖1代碼有兩個好處;
1.解決了多線程安全的問題,
2.用兩個判斷語句提高了效率。
面試的時候偶面試官可能問你,懶漢式有問題嗎?怎么解決?用的是什么鎖?
你的回答;有問題,在多線程的時候會出現安全問題,可以用同步代碼塊或者同步函數解決,但是效率低,用雙重判斷解決低效的問題。用的鎖是本類所屬的字節碼文件對象
一般面試不會問餓漢式
懶漢式的代碼
?
轉載于:https://www.cnblogs.com/zhznihao/p/7422585.html
總結
以上是生活随笔為你收集整理的有关单例模式懒汉式安全的问题(全)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: centos 7 配置nginx
- 下一篇: 2017年实时更新系统hosts文件(不