單例4種實現

2021-09-12 11:14:22 字數 919 閱讀 1668

public class singleton   //此類不能被例項化

public static synchronized singleton getinstance()

return singleton;

}}

優點:延遲載入

缺點:加鎖,影響效能

懶漢式dcl

public class singleton   //此類不能被例項化

public static singleton getinstance()

}return singleton;

}}

用synchronized和volatile加鎖,影響效能

public class singleton   //此類不能被例項化

public static singleton getinstance()

}

類載入時,就要初始化靜態變數,物件初始化比較複雜,會導致程式初始化緩慢

public class singleton   //此類不能被例項化

private static class singletonholder

public static singleton getinstance()

}

類載入時,不會載入內部類,做到了延時載入

class singleton 

public static final singleton s = new singleton();//final是最終的意思,被final修飾的變數不可以被更改,public可以被外部直接訪問

}}

類載入時,就要初始化靜態變數,物件初始化比較複雜,會導致程式初始化緩慢

Python單例模式的4種實現方法

encoding utf 8 print 方法1 方法1,實現 new 方法 並在將乙個類的例項繫結到類變數 instance上,如果cls.instance為none說明該類還沒有例項化過,例項化該類,並返回 如果cls.instance不為none,直接返回cls.instance class ...

Python單例模式的4種實現方法

python單例模式的4種實現方法 encoding utf 8 print 方法1 方法1,實現 new 方法 並在將乙個類的例項繫結到類變數 instance上,如果cls.instance為none說明該類還沒有例項化過,例項化該類,並返回 如果cls.instance不為none,直接返回c...

JAVA 4種單例模式實現方法

public class sington public static sington getsington return singtons 餓漢式。執行緒安全,但是類大佔記憶體 private static sington singtons new sington private sington p...