class Danlil {
private static Danlil d = null;
private Danlil() {
}
public static/* Synchronizer */Danlil method() {
// if (d == null) {@面试:双重判断可以体改效率。
// Synchronizer(Danlil.class){
if (d == null)
d = new Danlil();
// }
// }
return d;
}
低效是因为访问方法时要判断锁,所以低效了,一重判断式解决安全问题,双重判断式提高效率,第二重判断后,就不用判断锁和下面的if,如果没有双重判断,那么即会判断锁又判断下面的if,有了双重判断也就是上面的if,就不用再次判断锁和下面的if了 |