设计模式-单例

原创 2016年08月29日 17:47:59

为了保持对象的一致性,实现对象只被创建一次,单例模式被经常用到,整理了几种常用的写法如下:

普通单例模式

基本满足日常使用的需要

public class Singleton {

    private static Singleton instance;

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

    private Singleton () {
    }
}
双重校验单例模式

应用于高并发情况

public class Singleton {

    private static Singleton instance;

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

    private Singleton () {
    }
}
Effective Java中提到的单元素枚举类型实现

无偿提供了序列化机制,可应对序列化及反射攻击

public enum Singleton {

    INSTANCE;

    public void test(){
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Qt单例设计模式(1-8)

  • 2017年10月29日 12:05
  • 1.25MB
  • 下载

java 单例设计模式

  • 2014年10月07日 11:08
  • 126KB
  • 下载

JAVA基础——单例设计模式(饿汉式与懒汉式)

单例设计模式: 解决一个类在内存只存在一个对象。 想要保证对象唯一 1,为了避免其他程序过多建立该类对象。先禁止其他程序建立该类对象 2,还为了让其他程序可以访问到该类对象,只好在本类中,自定义一个...

OC代码15_单例设计模式

  • 2015年06月02日 14:05
  • 426B
  • 下载

JAVA单例设计模式(一)

public class BuildServlet { /* * 单例模式,只创建一次 * 单例模式设计原则(堆内存中永远只有一个对象): * 1:将自己设为静...
  • Frunqer
  • Frunqer
  • 2016年05月10日 10:34
  • 127

设计模式——单例实现

  • 2017年06月29日 20:59
  • 26KB
  • 下载

C++单例设计模式

  • 2014年09月13日 11:45
  • 43KB
  • 下载

Javascript 设计模式 单例

一直很喜欢Js,,,今天写一个Js的单例模式实现以及用法。 1、单例模式的写法 单例模式写法相当简单: var singleTon = { m1: "memeber ...

设计模式之单例

  • 2017年07月16日 22:08
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:设计模式-单例
举报原因:
原因补充:

(最多只允许输入30个字)