package singletonbao;
public class SingDemo {
public static void main(String[] args) {
/**
* 餓漢式和懶漢式的區別
*1。在多線程訪問時,餓漢式不會創建對個對象,而懶漢式會創建
* 2。如果考慮線程安全問題 餓漢式
* 3.如果不考慮線程安全問題 懶漢式
*/
//單例模式 餓漢式
// Singleton s1=Singleton.getInstance();
// System.out.println(s1);
// System.out.println(Singleton.getInstance());
Singleton s1 = Singleton.instance;
System.out.println(s1);
}
}
//餓漢式
/**
class Singleton{
private static Singleton instance=new Singleton();
private Singleton(){ }
public static Singleton getInstance(){
return instance;
}
}
*/
//方式一 懶漢式
/* class Singleton{
private static Singleton instance;
private Singleton(){ }
public static Singleton getInstance(){
if ( instance ==null){
instance=new Singleton();
}
return instance;
}
}
*/
//方式三 簡單
class Singleton {
public static Singleton instance = new Singleton();
private Singleton() {
}
}
設計模式之單例模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.