Java单例模式

点 赞
0
热 度
55
评 论
0

Java单例模式介绍

  • 可以保证系统中,应用该模式的这个类永远只有一个实例,即一个类永远只能创建一个对象。

  • 例如任务管理器对象我们只需要一个就可以解决问题,这样可以节省内存空间。

实现方式:

1、饿汉单例设计模式:

  • 在用类获取对象的时候,对象已经提前创建好了。

2、设计步骤:

  • 2.1、定义一个类、把构造器私有。

  • 2.2、定义一个静态变量存储一个对象。

3、懒汉单例设计模式:

  • 在真正需要该对象的时候,才去创建一个对象(延迟加载对象)。

4、设计步骤:

  • 4.1、定义一个类、把构造器私有。

  • 4.2、定义一个静态变量存储一个对象。

  • 4.3、提供一个返回单例对象的方法。

模式对比图

知识点

核心内容

考试重点/易混淆点

难度系数

单例设计模式定义

确保一个类只能创建一个对象的设计模式,通过私有构造器、静态变量存储唯一对象、静态方法暴露对象实现

构造器私有化的必要性(防止外部随意创建对象)

单例实现三步法

1. 私有化构造器

2. 定义静态变量存储唯一对象

3. 提供静态方法返回对象

静态变量与静态方法的作用(全局唯一性保障)

饿汉式单例

对象在类加载时即创建(提前初始化),通过private static final变量存储

线程安全性(天然线程安全,但可能浪费资源)

单例应用场景

1. Runtime类(代表唯一JVM实例)

2. 任务管理器(唯一窗口对象)

与普通类的区别(如学生类不能单例)

设计模式学习目标

1. 理解解决的问题

2. 掌握代码实现

面试高频考点(手写单例代码)

代码封装必要性

私有化静态变量防止外部修改(如a = null破坏单例)

getInstance()方法的封装意义

对比:饿汉式 vs 懒汉式

饿汉式:提前创建对象

懒汉式:延迟创建(下节课内容)

资源占用与线程安全对比


余乃云水散人,栖于数字之墟。性耽幽静,常以青简为田,墨痕为穗。晨起推窗,听松风煮茶;夜阑掩卷,伴竹影扫阶。此间筑小筑三椽,藏闲话若干:或遇史海遗珠,则录以素札;偶得诗瓢碎玉,便缀作清吟。往来皆烟霞客,谈笑有鸿儒踪。诸君若得暇,不妨暂驻云履,共品一盏烟岚,半卷春秋。

不具版权性
不具时效性

文章内容不具时效性。若文章内容有错误之处,请您批评指正。

目录

欢迎来到南鸢宸羲的站点,为您导航全站动态

179 文章数
39 分类数
1 评论数
48标签数
最近评论
西北技术支持中心

西北技术支持中心


开始建站了😀