单例模式

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/79133275 懒...
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_40254498/article/details/79133275

懒汉模式

线程安全的单例模式(记录)
public class Singleton {
    private Singleton() {}  //私有构造函数
    private volatile static Singleton instance = null;  //单例对象
    //静态工厂方法
    public static Singleton getInstance() {
          //双重检测机制
         if (instance == null) {     
          //同步锁 
         synchronized (Singleton.class){  
           if (instance == null) {    
            //双重检测机制
             instance = new Singleton();
                }
             }
          }
          return instance;
      }
}

枚举创建单例

单例的枚举实现在《Effective Java》中有提到,
因为其功能完整、使用简洁、无偿地提供了序列化机制、 
在面对复杂的序列化或者反射攻击时仍然可以绝对防止多次实例化等优点, 
单元素的枚举类型被作者认为是实现Singleton的最佳方法。 
class Resource{
}

public enum SomeThing {
    INSTANCE;
    private Resource instance;
    SomeThing() {
        instance = new Resource();
    }
    public Resource getInstance() {
        return instance;
    }
}

上面的类Resource是我们要应用单例模式的资源,具体可以表现为网络连接,数据库连接,线程池等等。
获取资源的方式很简单,只要 SomeThing.INSTANCE.getInstance() 即可获得所要实例。
单元素的枚举类型已经成为实现Singleton的最佳方法。–《Effective Java》

目录
相关文章
|
1月前
|
设计模式 安全
详细讲解什么是单例模式
详细讲解什么是单例模式
|
6天前
|
设计模式 安全 Java
单例模式
​ 如有错误或有补充,以及任何的改进意见,请在评论区留下您的高见,同时文中给出大部分的示例 如果觉得本文写的不错,不妨点个赞,收藏一下,助力博主产生质量更高的作品 概念 单例模式(Singleton Pattern)是软件设计模式的一种,用于确保一个类只有一个实例,并提供一个全局访问点。这种模式通常用于需要频繁创建和销毁同一对象的场景,以减少系统资源的消耗和提高性能。 优缺点 优点: 实例控制:单例模式确保类只有一个实例,可以防止其他对象实例化自己的副本,从而确保所有对象都访问唯一实例。 节约资源:由于系统中只存在一个对象,可以节约系统资源,特别是在需要频繁创建和销毁对象的场景中,可
13 0
|
5月前
|
缓存 安全 Java
c#中单例模式详解
c#中单例模式详解
|
7月前
|
设计模式 安全 Java
单例模式的运用
单例模式的运用
24 0
|
10月前
|
设计模式 前端开发
关于单例模式我所知道的
关于单例模式我所知道的
44 0
关于单例模式我所知道的
|
设计模式 安全 Java
回顾一下单例模式
回顾一下单例模式
|
设计模式 安全 前端开发
关于单例模式,你应该了解这些
关于单例模式,你应该了解这些
关于单例模式,你应该了解这些
|
设计模式 数据库 Python
|
设计模式 缓存
我学会了,单例模式
单例模式属于创建型模式,这个类型的设计模式是将 对象的创建和使用解耦了,花式的去创建对象。
105 0
我学会了,单例模式
|
SQL 安全 Java
单例模式的理解
谈谈你对单例模式的理解。也算是老生常谈的问题了~~~
890 1