标签:设计 private 构造函数 出现 public zed stat 饿汉 加锁
单例设计模式:确保一个类只有一个实例,并提供该实例的全局访问点。即使用一个私有构造函数,一个私有静态变量及一个公有静态函数来实现。
1 /* 2 单例模式,懒汉式 3 弊端:线程不安全,有延迟加载的情况出现,即不是在类创建时就已经加载了,而是调用的getInstance() 4 解决方法:加锁,即在getInstance()上面直接加synchronized,但是这样会降低效率 5 不推荐使用 6 */ 7 public class SingleDemoL { 8 private static SingleDemoL singleDemoL; 9 private SingleDemoL(){ 10 11 } 12 public static SingleDemoL getInstance(){ 13 if (singleDemoL==null) 14 singleDemoL=new SingleDemoL(); 15 return singleDemoL; 16 } 17 }
1 /* 2 单例模式,饿汉式 3 弊端:较常用,但是容易产生垃圾对象 4 */ 5 public class SingleDemoHungry { 6 //急切地创建了对象,故称为饿汉式 7 private static SingleDemoHungry singleDemoHungry=new SingleDemoHungry(); 8 private SingleDemoHungry(){} 9 public static SingleDemoHungry getInstance(){ 10 return singleDemoHungry; 11 } 12 }
标签:设计 private 构造函数 出现 public zed stat 饿汉 加锁
原文地址:https://www.cnblogs.com/majortom/p/12892026.html