Why to double check the singleton instantiation
问题 In this link i found the singleton instantiation as below: public static Singleton getInstanceDC() { if (_instance == null) { // Single Checked (1) synchronized (Singleton.class) { if (_instance == null) { // Double checked _instance = new Singleton(); } } } return _instance; } I am not getting the point of single check ie (1) . Whats its use here any way the single thread will be checking the instance inside synchronized block , so what is point of using the first check? 回答1: Consider that