单例模式是设计模式中最简单的形式之一,这一模式的目的是使得类的一个对象成为系统中的唯一实例。
实现方式:
饿汉式 : 直接创建对象
线程安全的
public class Son {
/在类中提供一个本类对象
private static Son s = new Son();
//构造方法私有化
private Son(){
}
//提供一个公共的方法让外界访问,获取到已创建的本类对象
public static Son getInstance(){
return s;
}
}
懒汉式 : 当需要用到对象的时候,再创建对象(延迟加载方式)
一个线程对象的时候,这种方式线程是安全的
多个线程对象的时候,这种方式线程是不安全, 可以同步机制处理
public class Girl {
//创建本类对象的引用
private static Girl g = null;
//构造方法私有
private Girl(){
}
//提供一个公共的方法让外界访问,获取到已创建的本类对象
//第一次访问该方法,创建对象
//之后再访问该方法,返回以前创建好的对象
public static Girl getInstance(){
//第一次访问该方法,创建对象
if (g == null) {
g = new Girl();
}
//之后再访问该方法,返回以前创建好的对象
return g;
}
}
|