1. 程式人生 > 實用技巧 >資料結構003_連結串列

資料結構003_連結串列

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;
    }
}