openlayers6實現線水流效果(附原始碼下載)
阿新 • • 發佈:2022-03-09
1、餓漢模式
/**
* @author joy
* @Package gof23
* @Description: 單例模式之餓漢式單例模式
* @date 2022/3/11 10:23
*/
public class Hungry {
private static Hungry hungry = new Hungry();
//私有化構造器:單例模式的核心思想
private Hungry() {
}
public static Hungry getInstance() {
return hungry;
}
}
2、懶漢模式
/** * @author joy * @Package gof23 * @Description: 單例模式之懶漢式,執行緒不安全,可以改為雙重檢驗鎖模式 * @date 2022/3/11 10:29 */ public class LazyMan { private static LazyMan lazyMan; private LazyMan() { } public static LazyMan getInstance(){ if(lazyMan == null){ lazyMan = new LazyMan(); } return lazyMan; } }
3、雙重檢驗鎖模式
/** * @author joy * @Package gof23 * @Description: 單例模式懶漢式的雙重檢驗鎖模式,執行緒安全 * @date 2022/3/11 10:37 */ public class LazyManSyn { private static volatile LazyManSyn lazyManSyn;//使用此關鍵字是為了防止指令重排 private LazyManSyn(){ } public static LazyManSyn getInstance(){ if(lazyManSyn == null){ synchronized(LazyManSyn.class){//synchronized程式碼塊是悲觀鎖 if(lazyManSyn == null){ lazyManSyn = new LazyManSyn(); } } } return lazyManSyn; } }