JAVA 靜態(tài)的單例的實(shí)例詳解
JAVA 靜態(tài)的單例的實(shí)例詳解
實(shí)現(xiàn)代碼:
public class Printer { private Printer(){ } public static Printer newInstance(){ return CreatePrinter.mPrinter; } private static class CreatePrinter{ private final static Printer mPrinter = new Printer(); } }
因?yàn)殪o態(tài)的單例對(duì)象沒(méi)有作為類(lèi)的成員變量直接實(shí)例化,因此在Printer類(lèi)加載時(shí)并沒(méi)有實(shí)例化mPrinter。第一次調(diào)用newInstance() 的時(shí)候加載內(nèi)部類(lèi)CreatePrinter ,該內(nèi)部類(lèi)定義了一個(gè)static 類(lèi)型的變量mPrinter,此時(shí)會(huì)首先初始化這個(gè)變量,由JVM 來(lái)保證其線(xiàn)程安全性,確保該成員變量只被實(shí)例化一次。
可見(jiàn),通過(guò)使用這個(gè)方法,不僅實(shí)現(xiàn)了延遲加載,又可以保證線(xiàn)程安全,不影響系統(tǒng)性能。
以上就是使用java 靜態(tài)單例的實(shí)例,如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
SpringBoot中Token登錄授權(quán)、續(xù)期和主動(dòng)終止的方案流程分析
SpringBoot項(xiàng)目中,基于Token的登錄授權(quán)方案主要有兩種:利用Session/Cookie和JWT,Cookie/Session方案有狀態(tài),不適合分布式架構(gòu),而JWT雖無(wú)狀態(tài),但存在過(guò)期時(shí)間不可強(qiáng)制失效、一次性等缺點(diǎn),本文介紹SpringBoot中Token登錄授權(quán)、續(xù)期和主動(dòng)終止的方案,感興趣的朋友一起看看吧2024-09-09Java詳細(xì)分析String類(lèi)與StringBuffer和StringBuilder的使用方法
當(dāng)對(duì)字符串進(jìn)行修改的時(shí)候,需要使用 StringBuffer 和 StringBuilder類(lèi),和String類(lèi)不同的是,StringBuffer和 StringBuilder類(lèi)的對(duì)象能夠被多次的修改,并且不產(chǎn)生新的未使用對(duì)象2022-04-04解決Mybatis 大數(shù)據(jù)量的批量insert問(wèn)題
這篇文章主要介紹了解決Mybatis 大數(shù)據(jù)量的批量insert問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01java中線(xiàn)程的狀態(tài)學(xué)習(xí)筆記
在本文里我們給大家整理了關(guān)于java中線(xiàn)程的狀態(tài)的相關(guān)知識(shí)點(diǎn)內(nèi)容,對(duì)此有需要的朋友們學(xué)習(xí)參考下。2019-03-03解決idea打包成功但是resource下的文件沒(méi)有成功的問(wèn)題
這篇文章主要介紹了解決idea打包成功但是resource下的文件沒(méi)有成功的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-08-08springmvc處理模型數(shù)據(jù)Map過(guò)程解析
這篇文章主要介紹了springmvc處理模型數(shù)據(jù)Map過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-01-01如何在?Spring?Boot?中使用?OpenAI?ChatGPT?API
這篇文章主要介紹了如何在Spring?Boot中使用OpenAI?ChatGPT?API,我們探索了 OpenAI ChatGPT API 以生成對(duì)提示的響應(yīng),我們創(chuàng)建了一個(gè) Spring Boot 應(yīng)用程序,它調(diào)用 API 來(lái)生成對(duì)提示的響應(yīng),需要的朋友可以參考下2023-08-08詳解spring多線(xiàn)程與定時(shí)任務(wù)
本篇文章主要介紹了spring多線(xiàn)程與定時(shí)任務(wù),詳細(xì)的介紹了spring多線(xiàn)程任務(wù)和spring定時(shí)任務(wù),有興趣的可以了解一下。2017-04-04