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

Posted majortom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例设计模式中的懒汉式和饿汉式相关的知识,希望对你有一定的参考价值。

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

 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 }

 

 

以上是关于单例设计模式中的懒汉式和饿汉式的主要内容,如果未能解决你的问题,请参考以下文章

JAVA中的单例设计模式-分为懒汉式和饿汉式(附代码演示)

JAVA中的单例设计模式-分为懒汉式和饿汉式(附代码演示)

JAVA中的单例设计模式-分为懒汉式和饿汉式(附代码演示)

只会懒汉式和饿汉式 你还不懂单例模式!

Java单例模式--------懒汉式和饿汉式

[转]设计模式--单例模式懒汉式和饿汉式