Java線程安全中的單例模式
package net.kitbox.util;
/**
*
* @author lldy
*
*/
public class Singleton {
private Singleton(){
}
private static class SingletonHolder{
private static Singleton instance = new Singleton();
}
public static void method(){
SingletonHolder.instance._method();
}
private void _method(){
System.out.println("Singleton Method!");
}
public static void main(String[] args) {
Singleton.method();
}
}
此種寫(xiě)法利用了類加載器的加載原理,每個(gè)類只會(huì)被加載一次,這樣單例對(duì)象在其內(nèi)部靜態(tài)類被加載的時(shí)候生成,而且此過(guò)程是線程安全的。
其中method()方法封裝內(nèi)部單例對(duì)象的私有方法,作為對(duì)外接口使用,這樣就可以如下調(diào)用
Singleton.method();
//頻繁使用時(shí)比常見(jiàn)的 Singleton.getInstance().method()要省事
另外一種方式為采用枚舉來(lái)實(shí)現(xiàn)。
以上就是本文的全部?jī)?nèi)容了,希望大家能夠喜歡。
相關(guān)文章
Java設(shè)計(jì)模式中組合模式應(yīng)用詳解
組合模式,又叫部分整體模式,它創(chuàng)建了對(duì)象組的數(shù)據(jù)結(jié)構(gòu)組合模式使得用戶對(duì)單個(gè)對(duì)象和組合對(duì)象的訪問(wèn)具有一致性。本文將通過(guò)示例為大家詳細(xì)介紹一下組合模式,需要的可以參考一下2022-11-11Java高效提取PDF文件指定坐標(biāo)的文本內(nèi)容實(shí)戰(zhàn)代碼
在日常工作中,有時(shí)可能會(huì)需要從龐大的PDF文檔中提取其中所包含的文本內(nèi)容,下面這篇文章主要給大家介紹了關(guān)于如何利用Java高效提取PDF文件指定坐標(biāo)的文本內(nèi)容,需要的朋友可以參考下2024-01-01使用java文件過(guò)濾器輸出制定格式文件路徑的實(shí)例代碼
這篇文章主要介紹了使用java文件過(guò)濾器輸出制定格式文件路徑的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11Java基于Scanner對(duì)象的簡(jiǎn)單輸入計(jì)算功能示例
這篇文章主要介紹了Java基于Scanner對(duì)象的簡(jiǎn)單輸入計(jì)算功能,結(jié)合實(shí)例形式分析了Java使用Scanner對(duì)象獲取用戶輸入半徑值計(jì)算圓形面積功能,需要的朋友可以參考下2018-01-01Spring?多數(shù)據(jù)源方法級(jí)別注解實(shí)現(xiàn)過(guò)程
多數(shù)據(jù)源管理是Spring框架中非常重要的一部分,它可以提高應(yīng)用程序的靈活性和可靠性,從而更好地滿足業(yè)務(wù)需求,這篇文章主要介紹了Spring?多數(shù)據(jù)源方法級(jí)別注解實(shí)現(xiàn),需要的朋友可以參考下2023-07-07mybatis中@Param注解總是報(bào)取不到參數(shù)問(wèn)題及解決
這篇文章主要介紹了mybatis中@Param注解總是報(bào)取不到參數(shù)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Java實(shí)現(xiàn)讀取及生成Excel文件的方法
這篇文章主要介紹了Java實(shí)現(xiàn)讀取及生成Excel文件的方法,結(jié)合實(shí)例形式分析了java通過(guò)引入第三方j(luò)ar包poi-3.0.1-FINAL-20070705.jar實(shí)現(xiàn)針對(duì)Excel文件的讀取及生成功能,需要的朋友可以參考下2017-12-12