package cn.mylove;
/* * * //饿汉式 public class Demo { private static final Demo d = new Demo(); private Demo() { } public static Demo getInstance() { return d; } } *///懒汉式 //特点:延时加载//在多线程访问时就会产生安全隐患,所以要用synchronized/*public static synchronized Demo getInstance() { if (d == null) { d = new Demo(); } return d; }*///懒汉式加了锁会比较低效,所以要用同步代码块,同时用双重判断,解决每次都访问所的低效问题public class Demo { private static Demo d = null; private Demo() { } public static Demo getInstance() { if (d == null) { synchronized (Demo.class) { if (d == null) { d = new Demo(); } } } return d; }}