【JAVA】多线程案例之单例模式

本文探讨了Java中的单例模式,包括饿汉单例和懒汉单例两种实现方式。饿汉单例在类加载时即创建实例,保证线程安全但可能占用资源。懒汉单例则在首次使用时创建,通过双重检查锁定实现线程安全,提高了资源利用率。
摘要由CSDN通过智能技术生成

1.饿汉单例

2.懒汉单例

在写代码时会根据具体开发情况来选择单例模式,单例模式是什么东东?

简单来说单就是一个进程中只创建一个实例,所以叫做单例模式

单例模式的实现有两个选择,一个是“饿汉”单例,一个是了“懒汉”单例

懒这个字在程序中并不是贬义词,让程序懒,就是让程序到达对应的时刻再去工作,而饿汉代表着很急迫,刚开始就把很多没必要的工作做了,这样可能会导致占用资源,效率不高。

下面先介绍饿汉版本的单例模式

//单例类,这个类只能有一个实例
class Singleton{

    //这是饿汉模式,在类创建的时候就创建了实例

    private static Singleton instance = new Singleton();//这是这个类里的唯一实例

    //在类外想调用singleton,给一个接口
    public static Singleton getInstance(){
        return instance;
    }

    //防止被new
    private Singleton(){
        //这个操作强制其他代码new这个实例
    }
}

public class singletonDemo {
    public static void main(String[] args) {
        //想要搞单例,那就不能再继续new一个对象,所以要在单例类中搞一个私有的构造方法,防止在单例类外被new
        //Singleton singleton = new Singleton();
        //如果想调用单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值