java设计模式-单例模式

来源:互联网 发布:js取消注释快捷键 编辑:程序博客网 时间:2024/06/06 00:03

单例模式

    单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处:

1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。

2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。

3、有些类如交易所的核心交易引擎,控制着交易流程,如果该类可以创建多个的话,系统完全乱了。(比如一个军队出现了多个司令员同时指挥,肯定会乱成一团),所以只有使用单例模式,才能保证核心交易服务器独立控制整个流程。

几种表现形式如下:

/** * 饿汉式 * */public class Singleton{private static Singleton instance = new Singleton();public static Singleton getInstance() {return instance;}}

/** *  *  懒汉式 * */public class Singleton {private static Singleton instance = null;public static Singleton getInstance() {if (instance == null) {synchronized (Singleton.class) {if (instance == null) {instance = new Singleton();}}}return instance;}
/** *   枚举类 * */public enum Singleton {      INSTANCE;  }

/** *    静态方法实现 * */public class Singleton {private static final class InstanceHolder {private static Singleton INSTANCE = new Singleton();}public static Singleton getInstance() {return InstanceHolder.INSTANCE;}}

个人感觉第二种用的比较多,恳请大神们指正。谢谢!



0 0
原创粉丝点击