单例模式:是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例的特殊类。通过单例模式可以保证系统中一个类只有一个实例。即一个类只有一个对象实例。
单例模式又分为饿汉模式和懒汉模式
package com.adair.test; /* * 单例模式Singleton * 应用场合:有些对象只需要一个就足够了, * 作用:保证整个应用程序中某个实例有且只有一个 * 类型:饿汉模式、 */ public class Singleton { //构造方法私有化 private Singleton() { } //创建类的唯一实例,使用private static修饰 private static Singleton instance = new Singleton(); //提供一个用于获取实例的方法,使用public static修饰 public Singleton getInstance() { //返回一个instance return instance; } }
package com.adair.test; /* *懒汉模式 * 区别:饿汉模式的特点是加载类时比较慢,但运行时获取对象的速度比较快,线程安全 * 懒汉模式的特点是加载类时比较快,但运行时获取对象的速度比较慢,线程不安全 */ public class Singleton { //构造方法私有化 private Singleton() { } //创建类的唯一实例,使用private static修饰 private static Singleton instance ; //提供一个用于获取实例的方法,使用public static修饰 public static Singleton getInstance() { //判断instance是否为空, if(instance==null) { instance = new Singleton(); } return instance; } }
单例模式-懒汉模式 与饿汉模式唯一的区别:懒汉模式将实例创建的时间推迟到外部第一次调用方法请求实例时 首先判断是否为null,不为null时才创建,保证了单例
浙公网安备 33010602011771号