单例模式 之 单例模式——饿汉模式
饿汉模式特点:见名知意,“他”很饿,迫切需要找到吃的... 所以 饿汉模式需要 第一时间 “找到吃的”(构建对象)。
如下代码:
1 /** 2 * 饿汉模式 3 */ 4 public class HungrySingleton { 5 private static HungrySingleton instance=new HungrySingleton(); 6 7 /** 8 * 禁止外部构建 9 */ 10 private HungrySingleton(){} 11 12 /** 13 * 由外部调用 14 * @return 15 */ 16 public static HungrySingleton getInstance(){ 17 return instance; 18 } 19 20 /** 21 * 测试 22 * @param args 23 */ 24 public static void main(String[] args) { 25 for(int i=0;i<20;i++){ 26 new Thread(()->{ 27 System.out.println(HungrySingleton.getInstance()); 28 }).start(); 29 } 30 } 31 32 }
测试结果:运行二十线程,运行的结果为同一个用例。
2 com.company.HungrySingleton@19281561 3 com.company.HungrySingleton@19281561 4 com.company.HungrySingleton@19281561 5 com.company.HungrySingleton@19281561 6 com.company.HungrySingleton@19281561 7 com.company.HungrySingleton@19281561 8 com.company.HungrySingleton@19281561 9 com.company.HungrySingleton@19281561 10 com.company.HungrySingleton@19281561 11 com.company.HungrySingleton@19281561 12 com.company.HungrySingleton@19281561 13 com.company.HungrySingleton@19281561 14 com.company.HungrySingleton@19281561 15 com.company.HungrySingleton@19281561 16 com.company.HungrySingleton@19281561 17 com.company.HungrySingleton@19281561 18 com.company.HungrySingleton@19281561 19 com.company.HungrySingleton@19281561 20 com.company.HungrySingleton@19281561 21 com.company.HungrySingleton@19281561 22 23 Process finished with exit code 0
安全性:在类加载时会将进行加载,等到调用时该类已经被处理好了所以能保证多线程调用下,调用的是同一个实例。
懒加载:如上所说,在类加载时就已经加载出来,所以不存在懒加载。
性能:性能不是很好,若长期不使用会占用内存空间,内存空间不足时容易造成内存溢出异常。
转载于:https://www.cnblogs.com/zhangzhonghui/p/11460339.html
单例模式 之 单例模式——饿汉模式相关推荐
- 【设计模式:单例模式】单例模式01:饿汉模式
单例模式:饿汉模式 正文开始@Assassin 目录: 单例模式:饿汉模式 1. 什么是设计模式? 2. 单例设计模式: 2.1 什么是单例模式? 2.2 单例模式应用实例: 1. 什么是设计模式? ...
- 【设计模式】之单例模式中的饿汉模式和懒汉模式
本文内容:什么是单例模式,单例的作用,饿汉模式,懒汉模式的安全与非安全的实现,饿汉模式与懒汉模式的区别. 什么是单例模式? 单例模式:保证一个类,仅有一个实例.提供一个访问它的全局访问点. 单例的作用 ...
- 23种设计模式C++源码与UML实现--单例模式中的饿汉模式和懒汉模式
单例模式 单例模式是一种对象创建模式,使用单例模式,可以保证为一个类生成唯一的实例对象.也就是说在这个程序空间该类只有一个实例对象. GoF对单例的定义:保证一个类.只有一个实例存在,同时提供对该实例 ...
- 单例模式的创建(饿汉模式懒汉模式)
- java设计模式之单例模式|单例模式之饿汉模式、懒汉模式、枚举方式|最详细的6种懒汉模式详解
目录 一.单例模式 二.饿汉模式和懒汉模式 1.饿汉模式,线程安全 2.懒汉模式 懒汉模式1,线程不安全(不常用) 懒汉模式2,线程安全(不常用) 懒汉模式3,线程安全,双重校验(不常用) 懒汉模式4 ...
- 单例模式下的懒汉和饿汉模式
1 //单例模式---懒汉模式 2 public class Apple{ 3 //创建一个成员,在内存中只有一个拷贝 4 private static Apple apple = null; 5 p ...
- 创建型模式:单例模式(懒汉+饿汉+双锁校验+内部类+枚举)
单例模式 单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. 这种模式涉及到一个单一的类,该类负责创 ...
- 单例模式---懒汉模式与饿汉模式
单例模式:1)一个类只能创建一个实例2)构造函数和静态变量(加载类时即初始化)需为private3)get方法应该为public static,可供全局访问 //懒汉模式 public class l ...
- 设计模式——单例模式(懒汉模式,饿汉模式)
声明: 本博客参考C语言中文网和优秀博客总结得出: (1)C语言中文网链接 (2)优秀博客链接 单例模式的定义: 指一个类只有一个实例,且该类能自行创建这个实例的一种模式.例如,Windows 中只能 ...
- 单例模式的四种实现方式(饿汉模式、懒汉模式、静态内部类、枚举类)
首先,设计模式是我们程序员在软件开发过程中面临的一般问题的解决方案,通过学习设计模式可以使我们在编程时更加有条理性,同时培养我们写代码的思维能力,从而提高我们的工作效率.接下来就跟着博主的脚步往下走吧 ...
最新文章
- RAW 原始套接字 TCP UDP协议解析
- aurora IP中选择了小端支持,但小端体现在了什么地方呢?
- 每日一笑 | 马冬梅当上了百度投资董事???
- kryo java_优化Java序列化– Java,XML,JSON,Kryo,POF
- 安装python3.7.0的步骤_python 3.7.0 安装配置方法图文教程
- java mac pos_pos终端mac国密(sm4)算法(java实现)
- [转]Ubuntu terminator 无法打开解决方案
- 24小时从0到1开发阴阳师小程序
- 数组与数组冒泡排序,选择排序
- 小程序毕设作品之微信小程序点餐系统毕业设计(8)毕业设计论文模板
- 利用loic工具进行doss教程(附下载链接官方无后门)
- 如何下载Chrome谷歌浏览器历史版本
- 现阶段的主流数据库分别是哪几种?
- 咸鱼の软构实验感想(1)
- LaTeX:大于等于号,小于等于号,大于号,小于号
- 居民身份证号码的编码规则
- Linux下面无线网络配置
- 近两年ABSA相关ACL/EMNLP论文列表
- 利用出生年月日求年龄
- 画出Android的大体架构图