2018-06-05

Java 五中簡單的創建單例方法

1.線程不安全

public class SingleTest {

? ? ? ? private static SingleTest single = null;

? ? ? ? public static?SingleTest? getSingleTest(){

? ? ? ? ? ? ? ? if(single == null){

? ? ? ? ? ? ? ? ? ? single = new SingleTest();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? return single;

????????}

}

2.同步鎖

public class SingleTest {

? ? ? ? private static SingleTest single = null;

? ? ? ? public static synchronized SingleTest? getSingleTest(){

? ? ? ? ? ? ? ? if(single == null){

? ? ? ? ? ? ? ? ? ? single = new SingleTest();

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? return single;

????????}

}

3.減少鎖的范圍

public class SingleTest {

? ? ? ? private static SingleTest single = null;

????????public static SingleTest? getSingleTest(){

? ? ? ? ? ? ? ? if(single == null){

? ? ? ? ? ? ? ? ? synchronized(this){

? ? ? ? ? ? ? ? ? ? ? ? if(single? == null){

????????????????????????????single = new SingleTest();

? ? ? ? ? ? ? ? ? ? ? ? ?}

????????????????????}

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? return single;

????????}

}

4.靜態初始化

public class SingleTest {

? ? ? ? private static SingleTest single = null;?

? ? ? ? static {

? ? ? ? ? ? single = new SingleTest();

????????}

? ? ? ? public static?SingleTest? getSingleTest(){

? ? ? ? ? ? ? ? return single;

????????}

}

5.靜態內部類

public class SingleTest {


? ? ? ? private static class SingleHolder {

? ? ? ? ? ? ? private static SingleTest single?= new?SingleTest ();

????????}

? ? ? ? public static?SingleTest? getSingleTest(){

? ? ? ? ? ? return?SingleHolder.single ;

????????}

}

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,754評論 18 399
  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,868評論 18 139
  • 一、基本數據類型 注釋 單行注釋:// 區域注釋:/* */ 文檔注釋:/** */ 數值 對于byte類型而言...
    龍貓小爺閱讀 4,288評論 0 16
  • 以盤點2016年作為開啟2017年簡書的寫字之旅。 1.積累原始資金 金錢是現實世界給你的掌聲。 作為生活在五線城...
    春娟Jane閱讀 133評論 1 0
  • 最近在做輪播臺的個性化推薦(輪播臺是由編輯定義的,每個輪播臺一天24小時會不間斷的播放編輯精選且排好時間段的視頻。...
    圈住那個卷閱讀 319評論 1 1