单例模式:确保一个类只有一个实例,并提供全局访问点。注意,全局变量也可以提供全局访问,但不能保证只有一个实例。
在Java中实现Singleton Pattern的几个要素:私有构造器、一个静态方法和一个静态变量
1 package com; 2 3 public class Singleton { 4 private volatile static Singleton uniqueInstance; 5 private Singleton(){}//私有的构造方法 6 7 //getInstance提供了全局访问点,在需要用到实例的时候调用 8 public static Singleton getInstance(){ 9 if(uniqueInstance==null){ 10 //检查实例,如果不存在就进行同步 11 synchronized (Singleton.class){ 12 if(uniqueInstance==null){ 13 uniqueInstance = new Singleton();//创建实例 14 } 15 } 16 } 17 return uniqueInstance; 18 19 } 20 21 }