单例模式
简单来说就是创建对象时无论怎么创建都只有一个实例对象
懒汉式:
介绍:只有在用到这个对象的时候才会去创建这个对象。
存在问题:线程不安全,当使用多线程时会出现创建多个对象的情况。
代码演示:
public class BBB {//单例模式(懒汉模式)
//私有化构造方法
private BBB(){
System.out.println("创建了BBB类对象");
}
//创建静态BBB对象
private static BBB bbb = null;
//创建获得BBB对象的静态方法
public static BBB getBBB(){
if (bbb==null) {
bbb = new BBB();
}
return bbb;
}
}
饿汉式:
介绍:不管用不用都会先创建出这个对象。
存在问题:假如我们代码中都没用到这个类的实例对象,如果这个类简单还好,要是复杂的话就会造成大量资源浪费。
public class AAA {//单例模式(饿汉模式)
//私有化构造方法------------------->第一步
private AAA(){
}
//创建静态AAA对象----------------->第二步
private static AAA aaa = new AAA();
//创建返回AAA对象的静态方法-------->第三步
public static AAA getAAA (){
return aaa;
}
}
其他参考:单例模式详解