設計模式:單例模式(懶漢)
阿新 • • 發佈:2018-11-30
/** * 單例模式。 * @author Bright Lee */ public class LazySingleton { private static volatile LazySingleton instance; private LazySingleton() { System.out.println("構造方法被呼叫了,當前時間戳是:" + System.currentTimeMillis()); } public static LazySingleton getInstance() { if (instance == null) { synchronized(LazySingleton.class) { if (instance == null) { instance = new LazySingleton(); } } } return instance; } public static void main(String[] args) { // 併發呼叫100遍,構造方法只會被呼叫一次: for (int i = 0; i < 100; i++) { new Thread() { public void run() { LazySingleton.getInstance(); } }.start(); } } }