单例设计模式中的懒汉式和饿汉式

  单例设计模式:确保一个类只有一个实例,并提供该实例的全局访问点。即使用一个私有构造函数,一个私有静态变量及一个公有静态函数来实现。

 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 }

猜你喜欢

转载自www.cnblogs.com/majortom/p/12892026.html