1.单例模式简介
1.1 什么是设计模式?
设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
2 单例模式的实现
(1)package com.imooc.SingletonPractice; /** * 单例模式Singleton * 应用场合:有些对象只需要一个就足够了,如古代皇帝、老婆 * 作用:保证整个应用程序中某个实例有且只有一个 * 类型:饿汉模式 */ public class Singleton { //1.将构造方法私有化,不允许外部直接创建对象 private Singleton(){ } //2.创建类的唯一实例 private static Singleton instance = new Singleton(); //3.提供一个用于获取实例的方法 public static Singleton getInstance(){ return instance; } }
(2)package com.imooc.SingletonPractice; /** * 懒汉模式 */ public class Singleton2 { //1.将构造方式私有化,不允许外边直接创建对象 private Singleton2(){ } //2.创建类的唯一实例,使用private static修饰 private static Singleton2 instance; //3.提供一个用于获取实例的方法,使用public static修饰 public static Singleton2 getInstance(){ if(instance == null){ instance = new Singleton2(); } return instance; } }
3 饿汉模式与懒汉模式的区别
区别:饿汉模式的特点是加载时比较慢,但运行时获取对象的速度比较快,线程安全。
懒汉模式的特点是加载类时比较快,但运行时获取对象的速度比较慢,线程不安全。