单例设计模式分为二种:饿汉式和懒汉式

单例设计模式的优点:

由于单例模式只生成一个实例,减少了系统性能开销,当一个对象的

产生需要比较多的资源时,如读取配置、产生其他依赖对象时,则可

以通过在应用启动时直接产生一个单例对象,然后永久驻留内存的方

式来解决

单例设计模式的设计思想:

所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对

某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法。

如果我们要让类在一个虚拟机中只能产生一个对象,我们首先必须将类的构

造器的访问权限设置为private,这样,就不能用new操作符在类的外部产生

类的对象了,但在类内部仍可以产生该类的对象。因为在类的外部开始还无

法得到类的对象,只能调用该类的某个静态方法以返回类内部创建的对象,

静态方法只能访问类中的静态成员变量,所以,指向类内部产生的该类对象

的变量也必须定义成静态的。

一.饿汉式

class one{}

1.私有化类的构造器

private one(){}

2.内部创建类对象(静态)

private static one ist = new one();

3.提供公共的静态方法,返回类的对象

public static one getinstance(){return ist;
}

二.懒汉式

1.私有化类的构造器

private two(){
}

2.声明当前类的对象,不初始化

private static two ist=null;

3.声明public,static的返回当前类对象的方法

public static two getin(){if(ist==null){ist=new two();}return ist;
}

应用场景:

1.网站的计数器

2.应用程序的日志应用

3.数据库连接池

4.读取配置文件中的类

5.application

6.pask manager

7.recycle bin

java设计模式——单例模式(超详细)相关推荐

  1. JAVA 正则表达式 (超详细,转)

    转 JAVA 正则表达式 (超详细,转) 2015年03月25日 10:27:57 阅读数:1514 在Sun的Java JDK 1.40版本中,Java自带了支持正则表达式的包,本文就抛砖引玉地介绍 ...

  2. Java 设计模式 - 单例模式

    Java 设计模式 - 单例模式 作者: 霍英俊 [huo920@live.com] 文章目录 Java 设计模式 - 单例模式 单例设计模式介绍 单例设计模式八种方式 饿汉式 - 静态常量 饿汉式( ...

  3. Java设计模式——单例模式

    单例模式 1.什么是单例模式. 2.单例设计的几种实现方式. 2.1.懒汉式 2.2.饿汉式 2.3.登记式 3.总结 4.建议 1.什么是单例模式. 确保某一个类只有一个实例,并且提供一个全局访问点 ...

  4. Java设计模式——单例模式的七种写法

    单例模式(Singleton) 单例模式(Singleton)是一种常用的设计模式.在Java应用中,单例模式能保证在一个JVM中,该对象只有一个实例存在.这样的模式有几个好处: 1.某些类创建比较频 ...

  5. 【文末抽书】Java设计模式--单例模式

    来源 :投稿 | 作者 : gyl-coder|原文:阅读原文 在介绍单例模式之前,我们先了解一下,什么是设计模式? 设计模式(Design Pattern):是一套被反复使用,多数人知晓的,经过分类 ...

  6. JAVA设计模式--单例模式

    Singleton是一种创建型模式,指某个类采用Singleton模式,则在这个类被创建后,只可能产生一个实例供外部访问,并且提供一个全局的访问点. 核心知识点如下: (1) 将采用单例设计模式的类的 ...

  7. 我的Java设计模式-单例模式

    就算不懂设计模式的兄弟姐妹们,想必也听说过单例模式,并且在项目中也会用上.但是,真正理解和熟悉单例模式的人有几个呢?接下来我们一起来学习设计模式中最简单的模式之一--单例模式 一.为什么叫单例模式? ...

  8. JAVA设计模式 - 单例模式

    单例模式(Singleton)是软件设计中一种比较常见的 , 相对简单的设计模式 . 1 . 单例模式的定义 所谓单例 , 指的就是单示例 , 即某个类的实现对象有且仅能有一个 , 并提供对外调用的方 ...

  9. java设计模式—单例模式

    (一)单例模式  java中一共有23种设计模式 : 是开发人员根据不同的代码场景总结出来的不同的实现方法, 归纳为23种代码的设计方法, 单例模式就是其中的一种. 单例模式 : 在整个系统中,一个类 ...

最新文章

  1. AI新方向:对抗攻击
  2. 第三组 通信一班 030 ISISv6
  3. psw和fr微型计算机,微型计算机技术及应用习题答案
  4. x265-common.h
  5. A new start!
  6. (23)ISE14.7 PLL输出时钟不能直接输出到普通IO(FPGA不积跬步101)
  7. Codeforces-Div312
  8. three.js 笑脸雨
  9. JAVA多线程--线程的同步安全
  10. laravel访问路由在nginx服务器上无法处理
  11. winhex的内存搜索法
  12. ie11浏览器For win7 x86 官方下载 V9600 官方版
  13. 基于逻辑回归的评分卡模型简单概述
  14. 大华海康NVR录像JAVA下载及WEB播放
  15. 800家电子元器件供应商及代理商
  16. SaaS和和PaaS的概念
  17. USB (十三)2022-04-02
  18. Spark系列十七:经典案列使用直连的方式,Kafka,SparkSteaming,Redis
  19. SQL Server T-SQL语言
  20. matlab中洛伦兹拟合,基于MATLAB洛伦兹线型非线性拟合算法实现

热门文章

  1. 软件保护工具VMProtect将许可系统集成到应用程序(7)——黑名单中的序列号
  2. 听见丨阿里“双十一”成交总额1682亿 京东双十一累计下单金额1271亿
  3. srvctl 在oracle下运行,oracle RAC工具srvctl
  4. SQL*Plus 系统变量之37 - PAU[SE]
  5. 【JavaFx实现系统托盘,去重AWT托盘乱码】
  6. Python爬虫实战,matplotlib模块,Python实现网易云音乐歌单数据可视化
  7. 认识爬虫:如何使用 requests 模块根据电影类型爬取豆瓣电影排名前20的信息与评分
  8. 昂达A69G主板U盘启动方法
  9. html5手机端响应式图片相册幻灯片插件特效
  10. matlab表示函数波形,matlab如何画冲激函数波形 matlab画冲激函数波形的方法