【Java中23种设计模式-单例模式--饿汉式】

加油,新时代打工人!

简单粗暴,直接上代码。
23种设计模式定义介绍

Java中23种设计模式-单例模式

Java中23种设计模式-单例模式2--懒汉式线程不安全

Java中23种设计模式-单例模式2--懒汉式2线程安全

java 复制代码
package mode;

/**
 * @author wenhao
 * @date 2024/02/20 09:34
 * @description 单列模式--饿汉式
 * 是否 Lazy 初始化:否
 * 是否多线程安全:是
 * 实现难度:易
 * 描述:这种方式比较常用,但容易产生垃圾对象。
 * 优点:没有加锁,执行效率会提高。
 * 缺点:类加载时就初始化,浪费内存。
 * 它基于 classloader 机制避免了多线程的同步问题,不过,instance 在类装载时就实例化,
 * 虽然导致类装载的原因有很多种,在单例模式中大多数都是调用 getInstance 方法,
 * 但是也不能确定有其他的方式(或者其他的静态方法)导致类装载,这时候初始化 instance 显然没有达到 lazy loading 的效果。
 */
public class SingleMode3 {
	//创建实例对象
	private static SingleMode3 singleMode3 = new SingleMode3();
	//让构造函数为 private,这样该类就不会被实例化
	private SingleMode3(){}
	//获取唯一可用的对象
	private static SingleMode3 getInstance(){
		return singleMode3;
	}

	public static void main(String[] args) {
		SingleMode3 instance = getInstance();
		SingleMode3 instance1 = getInstance();
		System.out.println(instance == instance1);
	}
}
相关推荐
今天秃头了吗??2 分钟前
【JAVA】网络编程
java·网络·网络编程·socket
煎饼皮皮侠5 分钟前
【图解】idea中快速查找maven冲突
java·maven·intellij-idea·冲突
科兴第一吴彦祖6 分钟前
在线会议系统是一个基于Vue3 + Spring Boot的现代化在线会议管理平台,集成了视频会议、实时聊天、AI智能助手等多项先进技术。
java·vue.js·人工智能·spring boot·推荐算法
工一木子6 分钟前
HashMap源码深度解析:从“图书馆“到“智能仓库“的进化史
java·源码·hashmap
平生不喜凡桃李24 分钟前
C++ 异常
android·java·c++
SamDeepThinking30 分钟前
用设计模式重构核心业务代码的一次实战
java·后端·设计模式
endcy201634 分钟前
mybatis-plus多租户兼容多字段租户标识
java·mybatis-plus·多租户
青草地溪水旁1 小时前
设计模式(C++)详解——建造者模式(2)
c++·设计模式·建造者模式
李游Leo1 小时前
Redis 持久化与高可用实践(RDB / AOF / Sentinel / Cluster 全解析)
java·spring·bootstrap
mask哥2 小时前
详解mcp以及agen架构设计与实现
java·微服务·flink·大模型·ai agent·springai·mcp