码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-05-15 00:35:04      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:设计   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!