java 设计模式之单例的实例详解
发布时间 - 2026-01-11 03:21:17 点击率:次java 设计模式之单例的实例详解

设计模式思想
什么是设计模式:我作为初学者,今天第一次正式学习设计模式,我觉得对与理解什么是设计模式很重要,那么什么是设计模式呢?
设计模式:解决问题的一种行之有效的思想。
设计模式:用于解决特定环境下、重复出现的特定问题的解决方案
我的理解是前人在软件设计的时候碰到了一类问题,他们总结出了一套行之有效,并且经过验证的解决方案。
设计模式的优点:
1、设计模式都是一些相对优秀的解决方案,很多问题都是典型的、有代表性的问题,学习设计模式,我们就不用自己从头来解决这些问题,相当于在巨人的肩膀上,复用这些方案即可。
2、设计模式已经成为专业人士的常用词汇,不懂不利于交流。
3、能让你设计的系统更加专业,让系统有更好的架构。
设计模式1~~单例
单利设计模式是用来解决在内存里面只能存在一个的某个类 的问题。 这个比较抽象,打个比方说 你要做一个打麻将游戏,丢骰子,第一个人丢了显示的几个数字,后面的人也要用。骰子这个类在内存里只允许存在一份。此类问题就需要用单例设计方案解决。
第一种: 饿汉式 先自己new 出来。速度快,单是占用内存多。
public class Single {
private final static Single s = new Single();
//类只能有一个故私有化构造方法,不让外面new对象
private Single(){
}
//工厂方法的命名规范
getinstance
//当外面没办法new对象时候,我们对像给外面调要自己来new
// 当没发new 对象时候,必须是静态方法,给外界使用。
public static Single getInstance(){
return s;
}
}
第二种: 懒汉式
//懒汉式
public class Single2 {
// 先步开内存,需要用的时候才new
private static Single2 s=null;
private Single2(){
}
// synchronized 用来防多线程时。第一个和第二个线程抢资源都会进入s==null,
时new 两次。
public synchronized static Single2 getInstance(){
if(s==null){
s = new Single2();
}
return s;
}
}
synchronized 看成锁是属于getInstance方法的。当方法属于static时,锁属于类模板的,当方法是对象调用时锁就属于对象的。
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# java
# 单例
# 单例的设计模式
# java 单例模式(饿汉模式与懒汉模式)
# java 中设计模式之单例
# 单例模式垃圾回收_动力节点Java学院整理
# java设计模式之单例模式的详解及优点
# Java单例模式简单示例
# java 单例模式和工厂模式实例详解
# 都是
# 行之有效
# 需要用
# 的人
# 几个
# 让你
# 出了
# 我觉得
# 第一个
# 你要
# 如有
# 不懂
# 两次
# 没办法
# 希望能
# 第二个
# 要用
# 很重要
# 此类
# 做一个
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么实现验证码(Captcha)功能
Laravel如何获取当前用户信息_Laravel Auth门面获取用户ID
canvas 画布在主流浏览器中的尺寸限制详细介绍
香港服务器租用费用高吗?如何避免常见误区?
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】
如何选择PHP开源工具快速搭建网站?
php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】
Python进程池调度策略_任务分发说明【指导】
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
linux top下的 minerd 木马清除方法
如何在云主机快速搭建网站站点?
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】
如何用y主机助手快速搭建网站?
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
黑客如何通过漏洞一步步攻陷网站服务器?
详解Oracle修改字段类型方法总结
音响网站制作视频教程,隆霸音响官方网站?
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
如何获取免费开源的自助建站系统源码?
android nfc常用标签读取总结
Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
Laravel怎么发送邮件_Laravel Mail类SMTP配置教程
如何快速选择适合个人网站的云服务器配置?
Win11关机界面怎么改_Win11自定义关机画面设置【工具】
C++用Dijkstra(迪杰斯特拉)算法求最短路径
手机网站制作与建设方案,手机网站如何建设?
javascript基于原型链的继承及call和apply函数用法分析
Laravel如何处理文件下载请求?(Response示例)
图册素材网站设计制作软件,图册的导出方式有几种?
Laravel如何处理文件上传_Laravel Storage门面实现文件存储与管理
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
创业网站制作流程,创业网站可靠吗?
如何用VPS主机快速搭建个人网站?
长沙做网站要多少钱,长沙国安网络怎么样?
Laravel如何配置和使用缓存?(Redis代码示例)
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
如何用好域名打造高点击率的自主建站?
如何在建站主机中优化服务器配置?
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
香港服务器如何优化才能显著提升网站加载速度?
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
如何在云主机上快速搭建网站?
laravel怎么为应用开启和关闭维护模式_laravel应用维护模式开启与关闭方法
Laravel如何使用集合(Collections)进行数据处理_Laravel Collection常用方法与技巧

