溫馨提示×

java懶加載實現(xiàn)的方法是什么

小億
94
2024-04-08 10:36:35
欄目: 編程語言

在Java中,可以使用雙重檢查鎖定(Double-Checked Locking)實現(xiàn)懶加載。雙重檢查鎖定是一種線程安全的懶加載方式,可以在多線程環(huán)境下保證只有第一次訪問時才會進(jìn)行實例化操作。

public class LazyLoading {
    private static volatile LazyLoading instance;

    private LazyLoading() {
    }

    public static LazyLoading getInstance() {
        if (instance == null) {
            synchronized (LazyLoading.class) {
                if (instance == null) {
                    instance = new LazyLoading();
                }
            }
        }
        return instance;
    }
}

在上面的代碼中,使用了雙重檢查鎖定來實現(xiàn)懶加載。首先檢查實例是否已經(jīng)被實例化,如果沒有,則進(jìn)入同步塊進(jìn)行實例化操作。在同步塊內(nèi)部再次檢查實例是否被實例化,以確保在多線程環(huán)境下只有一個線程能夠進(jìn)行實例化操作。同時,需要將instance聲明為volatile類型,以確保線程之間的可見性。

0