单例模式

网友投稿 219 2022-12-02

单例模式

单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一,属于创建型模式。 单例模式定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。

单例模式的使用场景: 比如要求产生唯一序列号; 比如创建的对象需要消耗的资源过多,如 I/O 与数据库的连接等。

单例模式的特点:①构造函数是私有的;②单例类只能有一个实例。其实②是①的结果。

通常可以使用下面的几种方式创建单例模式(Java参考代码): 懒汉式(同步效率比较低):

public class Singleton { private static Singleton instance; private Singleton() {} public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return

饿汉式(每次创建对象,比较浪费资源):

public class Singleton { private static Singleton instance = new Singleton(); private Singleton() {} public static Singleton getInstance() { return

双重校验锁:

public class Singleton { private static volatile Singleton instance; private Singleton() {} public static Singleton getInstance() { if (instance == null) { synchronized (Singleton.class) { if (instance == null) { instance = new Singleton(); } } } return

最后想说的是,其实枚举类也是一种单例模式。在Java中没有枚举类型的时候,就是用单例模式模拟枚举类型的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:二叉树的初始化
下一篇:java异常处理throws完成异常抛出详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~