資料結構003_連結串列
阿新 • • 發佈:2020-09-17
1.餓漢模式:執行緒安全
public class HungryManSingleton { private static final HungryManSingleton instance = new HungryManSingleton(); private HungryManSingleton() { } public HungryManSingleton getIntance() { return instance; } }
2.懶漢模式:執行緒不安全
public class LazyManSingleton {private static LazyManSingleton instance = null; private LazyManSingleton(){} public LazyManSingleton getInstance(){ if(instance == null){ instance = new LazyManSingleton(); } return instance; } }
3.懶漢模式(執行緒鎖):執行緒安全
public class LazyManSingleton {private volatile static LazyManSingleton instance = null; private LazyManSingleton(){} public synchronized LazyManSingleton getInstance(){ if(instance == null){ instance = new LazyManSingleton(); } return instance; } }
------------------------------------------------------------------------------
4.餓漢模式(強力推薦:並不是在;類載入的時候初始化物件,而是當呼叫的是時候才會初始化物件。節約資源):執行緒安全
public class HungerySingleton { private static class innerClass { private static final HungerySingleton instance = new HungerySingleton(); } private HungerySingleton() { } public static HungerySingleton getInstance() { return innerClass.instance; } }