单例模式(饿汉式/懒汉式)

单例模式是设计模式中最简单的形式之一。

  • 目的:这种类型的对象在内存中有且只能有一个,外界只能调用,不能new
    1.构造方法私有
    2.在类中提供一个本类对象
    3.提供一个公共的方法让外界访问,获取到已创建的本类对象

实现方式:

  • 饿汉式 : 直接创建对象
    线程安全的

  • 懒汉式 : 当需要用到对象的时候,再创建对象(延迟加载方式)
    一个线程对象的时候,这种方式线程是安全的
    多个线程对象的时候,这种方式线程是不安全, 可以同步机制处理

饿汉式:

package singleton;

/**
 * @author one piece
 * 单例:这种类型的对象在内存中有且只能有一个,外界只能调用,不能new
 *      1: 构造私有
 *      2: 定义一个静态变量,完成对象的创建
 *      3: 写一个公共的静态获取方法
 *   饿汉式单例模式
 *      多线程情况下,线程安全
 *      积极加载,不管是否使用,类加载时,对象就产生了
 *      (懒汉式单例模式: 延迟加载,用的时候再加载)
 */
public class EagerSingleton {
    /**
     * 定义一个静态

你可能感兴趣的:(设计模式,单例模式(饿汉式/懒汉式))