基本定义 单例模式就是确保某一个类只有一个实例,并且提供一个全局访问点。单例模式有如下几个特点:
代码实现 饿汉式 直接初始化静态变量。这样就保证了线程安全。 public class Singleton { private static Singleton singleton = new Singleton(); private Singleton(){ } public static Singleton getInstance(){ return singleton; } } 懒汉式 按需加载. 配合synchronized来处理。也就是说将getInstance()方法变成同步方法 public class LazySingleton { private static volatile LazySingleton lazySingleton; private LazySingleton(){ } public static LazySingleton getInstance(){ if(lazySingleton == null){ synchronized(LazySingleton.class){ lazySingleton = new LazySingleton(); } } return lazySingleton; } } 优点 节约了系统资源。由于系统中只存在一个实例对象,对与一些需要频繁创建和销毁对象的系统而言,单例模式无疑节约了系统资源和提高了系统的性能。 由于单例模式中没有抽象层,因此单例类的扩展有很大的困难。 懒汉式 java.lang.Runtim 饿汉式 java.lang.System |
|
来自: python_lover > 《待分类》