1.单列模式
package singleton;
/**
*synchronized
* 使用synchronized同步锁
* Created by lzwen10 on 2019/3/7/0007.
*/
public class Singleton {
/**
* 默认构造器
*/
public Singleton(){
}
private static Singleton singleton = null;
/**
* 方法上加synchronized同步锁或是用同步代码块对类加同步锁,此种方式虽然解决了多个实例对象问题,但是该方式运行效率却很低下,下一个线程想要获取对象,
* 就必须等待上一个线程释放锁之后,才可以继续运行
* @return
*/
public static Singleton getSingleton(){
if(singleton == null){
synchronized(Singleton.class){
if (singleton == null){
singleton = new Singleton();
}
}
}
return singleton;
}
}