Android Day10
感想
今天一天只講了一個demo 但是我還是沒有完全聽懂吧携悯,聽不懂的感覺很難受瘸爽,上午的部分比較簡單,還跟的上季二,下午的部分就比較復雜谷徙,這個變量塘慕、那個參數(shù)、哪些方法蒂胞,搞得暈頭轉(zhuǎn)向图呢,還是要回來自己看看摸索摸索不清楚的地方
內(nèi)容
單例設(shè)計模式:懶漢式與餓漢式
具體內(nèi)容
單例設(shè)計模式:懶漢式與餓漢式
1.不允許用戶創(chuàng)建這個類的一個對象
將類的構(gòu)造方法私有化
2.在自己的類里面提供創(chuàng)建對象的方法
單例模式確保某個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例骗随。
選擇單例模式就是為了避免不一致狀態(tài)蛤织,避免政出多頭。
餓漢式
在類初始化時鸿染,已經(jīng)自行實例化指蚜,餓漢式在類創(chuàng)建的同時就已經(jīng)創(chuàng)建好一個靜態(tài)的對象供系統(tǒng)使用,以后不再改變涨椒,所以天生是線程安全的摊鸡。
public class Singleton1 {
private Singleton1() {}
private static final Singleton1 single = new Singleton1();
//靜態(tài)工廠方法
public static Singleton1 getInstance() {
return single;
}
}
懶漢式
在第一次調(diào)用的時候?qū)嵗约海瑧袧h式單例的實現(xiàn)沒有考慮線程安全問題蚕冬,它是線程不安全的
public class Singleton {
private Singleton() {}
private static Singleton single=null;
//靜態(tài)工廠方法
public static Singleton getInstance() {
if (single == null) {
single = new Singleton();
}
return single;
}
}