首页 > 其他 > 详细

设计模式(一)单例模式:4-静态代码块模式

时间:2017-09-10 18:22:40      阅读:280      评论:0      收藏:0      [点我收藏+]

思想:

 

  这一种单例模式的实现,我本来并不准备单独提出来,因为我认为这种模式,和饿汉模式,没有本质的区别。

  但是在 sun.misc.Unsafe 的源码中却实际应用到了这种设计,所以才特地介绍一下。

  简单的说,就是把初始化的工作,放到静态代码块中。

  由于初始化的时间比饿汉模式更加早,我有个同事把它称之为:难民模式。

 

技术分享
 1 public final class StaticBlockSingleton {
 2 
 3     private static final StaticBlockSingleton instance;
 4 
 5     private StaticBlockSingleton() {
 6         if (instance != null) {
 7             throw new IllegalStateException();
 8         }
 9     }
10 
11     static {
12         instance = new StaticBlockSingleton();
13     }
14 
15     public static final StaticBlockSingleton getInstance() {
16         return instance;
17     }
18 
19 }
静态代码块模式

 

  与饿汉模式相同,不存在多线程及反射打破单例的可能性。

 

设计模式(一)单例模式:4-静态代码块模式

原文:http://www.cnblogs.com/jing-an-feng-shao/p/7501617.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!