Java 多线程学习三(单例模式与多线程)

本文探讨了Java中的单例模式,解释了其确保类只有一个实例并提供全局访问点的原理。讨论了饿汉式和懒汉式的实现方式,以及它们在线程安全和性能上的差异。此外,还提到了同步方法锁、同步代码块和双重检查等实现单例时考虑的线程安全策略。单例模式常见于数据库连接池和线程池等资源共享场景。
摘要由CSDN通过智能技术生成

一、什么是单例模式?

单例模式(Singleton)是一种比较常用的设计模式,在应用场景中,单例模式的类的对象有且只有一个。例如打印机只有一台,避免两个任务同时下发到打印机中,通信端口只有一个,避免多个请求同时调用通信端口,这样的情况下,单例模式是非常有用的。

单例模式就是确保一个类只有一个实例,并提供一个访问它的全局访问点。

类图 :

  • Singleton() 构造方法私有化:防止外部初始化,由类本身进行实例化
  • Singleton singleton 指向自己实例的私有静态引用
  • getInstance() 以自己实例为返回值的静态的公有方法:对外提供获取实例的方法

二、模式详解

1、饿汉式:在类加载初始化的时候就主动创建实例,立即加载

package SingletonDemo;

//饿汉式
public class Singleton1 {
    private Singleton1() {
    }

    //立即加载
    private static Singleton1 singleton1 = new Sin
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器学习模型机器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值