欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

单例模式中的饿汉式与懒汉式

程序员文章站 2022-06-28 16:15:42
文章目录懒汉式饿汉式懒汉式只在被调用时再创造对象,以时间换空间。线程不安全package com.lsh.model;/** * @author :LiuShihao * @date :Created in 2020/12/31 4:11 下午 * @desc :懒汉式单例 * 等被调用时才创建 * 以时间换空间 */public class Singleton2 { private static Singleton2 s ; //对外提供可以获得...

文章目录

懒汉式

只在被调用时再创造对象,以时间换空间。线程不安全

package com.lsh.model;

/**
 * @author :LiuShihao
 * @date :Created in 2020/12/31 4:11 下午
 * @desc :懒汉式单例
 * 等被调用时才创建
 * 以时间换空间
 */
public class Singleton2 {
    
    private static Singleton2 s ;
    
    //对外提供可以获得对象的方法
    public static Singleton2 getInstance(){
        if (s == null){
            s = new Singleton2();
        }
        
        return s;
    }
    
    //将构造方法私有化
    private Singleton2(){
        
    }
}

饿汉式

先把对象创造起来,在被调用是直接返回。以空间换时间,线程安全

package com.lsh.model;

/**
 * @author :LiuShihao
 * @date :Created in 2020/12/31 4:11 下午
 * @desc :饿汉式单例
 * 先创建对象在被人调用
 * 以空间换时间
 */
public class Singleton1 {
    //自己创建对象
    private static Singleton1 s = new Singleton1();

    //对外提供可以获得对象的方法
    public static Singleton1 getInstance(){
        return s;
    }

    //将构造方法私有化
    private Singleton1(){

    }
}

本文地址:https://blog.csdn.net/DreamsArchitects/article/details/112023638

相关标签: 设计模式