单例模式是设计模式中最简单的形式之一。
- 目的:这种类型的对象在内存中有且只能有一个,外界只能调用,不能new
1.构造方法私有
2.在类中提供一个本类对象
3.提供一个公共的方法让外界访问,获取到已创建的本类对象
实现方式:
-
饿汉式 : 直接创建对象
线程安全的 -
懒汉式 : 当需要用到对象的时候,再创建对象(延迟加载方式)
一个线程对象的时候,这种方式线程是安全的
多个线程对象的时候,这种方式线程是不安全, 可以同步机制处理
饿汉式:
package singleton;
/**
* @author one piece
* 单例:这种类型的对象在内存中有且只能有一个,外界只能调用,不能new
* 1: 构造私有
* 2: 定义一个静态变量,完成对象的创建
* 3: 写一个公共的静态获取方法
* 饿汉式单例模式
* 多线程情况下,线程安全
* 积极加载,不管是否使用,类加载时,对象就产生了
* (懒汉式单例模式: 延迟加载,用的时候再加载)
*/
public class EagerSingleton {
/**
* 定义一个静态