当前位置: 首页 > news >正文

懒汉单例设计模式与饿汉单例设计模式

单例模式即一个类确保只有一个对象,主要用于避免浪费内存

1.饿汉单例设计模式:拿到对象时,对象就早已经创建好了

public class A {
private static A a = new A();
private A(){
}
public static A getObject(){
return a;}
}

写法:

把类的构造器私有

在类中自己创建一个对象,并赋值到一个变量

定义一个静态方法,返回自己创建的这个对象

2.懒汉单例设计模式:第一次拿到对象时,才开始创建对象

public class B{
public static B b;
private B(){
}
public synchonized static B getObject(){
if(b==null){
b=new B();}
return b;}
}

写法:

把类构造器私有

在类中定义一个类变量用于储存对象,只定义不创建

提供一个类方法,要保证只创建一次,在方法中创建并返回对象

相关文章:

  • 【Android 13】使用Android Studio调试系统应用之Settings移植(十):外部模块依赖WifiTrackerLibRes的移植
  • rocketMQ-Dashboard安装与部署
  • Linux编辑器——Vim详解
  • [计算机网络]---UDP协议
  • 基于python社交网络大数据分析系统的设计与实现
  • HTML学习笔记——08:表单<form>
  • 计算机网络课后第一章问答题
  • Java 9 响应式流(Reactive Streams)
  • 回显服务器
  • day07-实战-今日指数
  • 如何在 Angular 中为响应式表单创建自定义验证器
  • 如何对线上项目Debug
  • C语言希尔排序详解!!!速过
  • redis的缓存穿透,缓存并发,缓存雪崩,缓存问题及解决方案
  • 【MySQL】事务的一致性究竟怎么理解?
  • 《Javascript高级程序设计 (第三版)》第五章 引用类型
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • Akka系列(七):Actor持久化之Akka persistence
  • avalon2.2的VM生成过程
  • DataBase in Android
  • Docker容器管理
  • Hibernate【inverse和cascade属性】知识要点
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java超时控制的实现
  • Mybatis初体验
  • Spring框架之我见(三)——IOC、AOP
  • XML已死 ?
  • Yeoman_Bower_Grunt
  • 测试如何在敏捷团队中工作?
  • 对象引论
  • 码农张的Bug人生 - 见面之礼
  • 漂亮刷新控件-iOS
  • 浅谈web中前端模板引擎的使用
  • 区块链将重新定义世界
  • 使用putty远程连接linux
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 新版博客前端前瞻
  • 译米田引理
  • 在weex里面使用chart图表
  • mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用 ...
  • 正则表达式-基础知识Review
  • 支付宝花15年解决的这个问题,顶得上做出十个支付宝 ...
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #### go map 底层结构 ####
  • #前后端分离# 头条发布系统
  • #数学建模# 线性规划问题的Matlab求解
  • (AngularJS)Angular 控制器之间通信初探
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (带教程)商业版SEO关键词按天计费系统:关键词排名优化、代理服务、手机自适应及搭建教程
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • (一)VirtualBox安装增强功能
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库