单例模式
饿汉式:不会出现问题的单例:类一加载就会创建当前类对象
懒汉式:可能出现的问题的单例 ---考虑线程安全问题
延迟加载/懒加载(当在使用的时候才创建当前类对象)
饿汉式
private static SingletonEH instance = new SingletonEH();
//静态,创建类的实例,私有化静态类对象
private SingletonEH (){}//私有的构造方法
public static SingletonEH getInstance() {//公共的静态方法
System.out.println("instance:"+instance);
System.out.println("加载饿汉式....");
return instance;
————————————————
版权声明:本文为CSDN博主「AH_HH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35098526/article/details/79893628
懒汉式
public class SingletonLH {
/**
*是否 Lazy 初始化:是
*是否多线程安全:否
*实现难度:易
*描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。
*这种方式 lazy loading 很明显,不要求线程安全,在多线程不能正常工作。
*/
private static SingletonLH instance;
private SingletonLH (){}
public static SingletonLH getInstance() {
if (instance == null) {
instance = new SingletonLH();
}
return instance;
}
————————————————
版权声明:本文为CSDN博主「AH_HH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35098526/article/details/79893628