单例模式

来源:互联网 发布:java高级培训 编辑:程序博客网 时间:2024/05/23 01:17
  1. 定义
    单件模式是指确保一个类只有一个实例,并提供全局访问点。
  2. 案例分析
    有一些对象只能有一个实例,比如线程池、打印机、显卡、注册表等。经典的单件模式实现如下:
public class Singleton{        private static Singleton uniqueInstance;        private Singleton(){}        public static Singleton getInstance(){            if(uniqueInstance == null){                uniqueInstance = new Singleton();            }            return uniqueInstance;        }}

在多线程情况下,getInstance()方法可能执行两次导致有两个uniqueInstance实例。这时只要把getInstance()变成同步(synchronized)的就可以了.

public class Singleton{        private static Singleton uniqueInstance;        private Singleton(){}        public static  Singleton getInstance(){            if(uniqueInstance == null){                uniqueInstance = new Singleton();            }            return uniqueInstance;        }}
0 0
原创粉丝点击