首页 > 代码库 > JAVA设计模式之单例模式
JAVA设计模式之单例模式
单例模式(Singleton Pattern)是一种很常见的设计模式。核心就是保证系统中单例类只有一个实例。在系统中某些涉及配置数据,以及生成唯一序列ID的情况用的很多。
参考《设计模式之禅》中的定义:
Ensure a class has only one instance,and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)
简单的类图如下:
通过收集整理发现单例模式一共有8种写法。
1、饿汉 (静态常量)
public class Singleton { private static final Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; } }
这种方式非常简单易懂。在类初始化的时候就回直接初始化出Singleton的实例。然后通过getInstance()方式来获取实例。不存在线程同步的问题。但是也存在一个缺点就是没有达到Lazy Loading的效果。
2、饿汉 (静态代码块)
public class Singleton { private static Singleton instance; static { instance = new Singleton(); } private Singleton() { } public static Singleton getInstance() { return instance; } }
JAVA设计模式之单例模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。