设计模式 饿汉加载方式: 提前创建好对象 * 在类加载(创建)的时候就对对象初始化了浪费内存 * 优点:实现简单,没有多线程同步问题 * 使用场景如何选择: * 1.如果对象不大,且创建不复杂,直接用饿汉方式 * 2.其他的情况则采用懒汉实现的方式
/** * Created with IntelliJ IDEA. * * @Author: chenxiky * @Date: 2022/03/19/11:54 * @Description: 设计模式 饿汉加载方式: 提前创建好对象 * 在类加载(创建)的时候就对对象初始化了浪费内存 * 优点:实现简单,没有多线程同步问题 * 使用场景如何选择: * 1.如果对象不大,且创建不复杂,直接用饿汉方式 * 2.其他的情况则采用懒汉实现的方式 */ public class SingletomHungry { /** * 静态代码块 在类加载的时候就会被执行 */ private static SingletomHungry instance = new SingletomHungry(); /** * 单例 构造方法私有 */ private SingletomHungry(){} /** * 对外暴露一个方法 * @return */ public static SingletomHungry getInstance(){ return instance; } /** * 测试单例对象的方法 */ public void process(){ System.out.println("单例饿汉对象方法执行成功"); } /** * JDK Runtime :是监测jvm整个生命周期的时间包括健康度和cpu等等 * 采用饿汉的方式加载,一启动就将对象实例化(创建) 进行监测 */ // Runtime /** * JDK中 Desktop:图形界面类 * 采用懒汉的方式加载:也就是延时加载,用户需要了才进行加载 * 线程安全,它在类上加了同步锁(synchronized) */ // Desktop