四中方式实现单例模式
一:饿汉式单例模式
package com.zkn.newlearn.gof.singleton;/**** 饿汉式单例模式* @author zkn**/public class SingletonTest01{/*** 加载类时,立即加载对象,是没有延迟的。是天然的线程安全的*/private static SingletonTest01 singleton = new SingletonTest01();/*** 构造器私有化*/private SingletonTest01() {}/*** 返回这个对象*/public static SingletonTest01 getInstance(){return singleton;}public void test(){System.out.println("我是饿汉式单例模式");}}
二:懒汉式单例模式
package com.zkn.newlearn.gof.singleton;/*** * @author zkn**/public class SingletonTest02 {private static SingletonTest02 singleton;/*** 构造器私有化*/private SingletonTest02() {}public static synchronized SingletonTest02 getInstance(){if(singleton == null){singleton = new SingletonTest02();}return singleton;}public void test(){System.out.println("我是懒汉是单例模式");}
}
三:静态内部类
package com.zkn.newlearn.gof.singleton;/*** 静态内部类 线程安全 延迟加载 调用效率高* @author zkn**/public class SingletonTest04 {private static class SingletonClassInstance{private static final SingletonTest04 single = new SingletonTest04(); }private SingletonTest04() {}public static SingletonTest04 getInstance() {return SingletonClassInstance.single;}}
四:枚举(单元素)
package com.zkn.newlearn.gof.singleton;/*** * 枚举实现单例 避免反射漏洞 jvm层面是安全的* @author zkn**/public enum SingletonTest05 {/*** 枚举元素本身就是单例*/INSTANCE;
}
四中方式实现单例模式相关推荐
- php 获取实例的类名,PHP类名获取方式及单例模式实现
类名是什么意思?顾名思义就是各类起了一个名字,java中有两种数据类型,基本数据类型和引用数据类型,这里类就是引用数据类型,我们在定义一个类的时候必须给类起一个名字,一边后面的使用 比如:int a ...
- python高端写法_python高级篇:使用元类方式实现单例模式详解
对于编程开发的朋友来说,设计模式应该最为熟悉不过了,如果要谈到哪种设计模式最为简单,也最容易理解,首当其冲的"单例模式"应该不为过了.本文主要讲解在python3中如何使用元类实现 ...
- J2EE (十) Java中多种方式实现单例模式
简介 "单例"即单一实例从名字上望文生义即可知道该类是做什么的,可见设计模式的名字也是很重要的,让人通过名字就能知道模式的用途,通用性强我们再命名自己的模式.函数.过程等时候也要遵 ...
- 【学亮说】Java实现单例模式的8种方式(你真的搞懂单例模式了吗?)
第一种:饿汉式单例模式 package com.zhangxueliang.dp.sigleton;/*** 饿汉式单例模式* * @Author:Zhang Xueliang* * @Date:20 ...
- python采用单例模式游戏_Python实现Singleton模式的方式详解
前言 使用python实现设计模式中的单例模式.单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的.本文将简要介绍一下python中实现单例模式的几种常见方式和原理.一方面可以加深对 ...
- 单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率
这段时间从头温习设计模式.记载下来,以便自己复习,也分享给大家. [java] view plaincopy package com.iter.devbox.singleton; /** * 饿汉式 ...
- Java面试23种设计模式之单例模式的8种实现方式
单例模式8中实现方式 1.单例模式介绍 2.单例模式的八种方式 3.饿汉式(静态常量),这种单例模式可用,可能造成内存浪费. 4.饿汉式(静态代码块),这种单例模式可用,可能造成内存浪费. 5.懒汉式 ...
- 单例模式的几种实现方式详解以及原理
单例模式介绍 前言 这是一个的萌新写的博客,以下是学习课程以后的总结,用于个人的复习与总结,如果有误还请多多包容和指正. 了解单例模式: 单例类只能有一个实例 单例必须创建自己的唯一一个实例 单例类必 ...
- 设计模式学习笔记(四)单例模式的实现方式和使用场景
单例模式可以说是Java中最简单的设计模式,也是技术面试中频率极高的面试题.因为它不仅涉及到设计模式,还包括了关于线程安全.内存模型.类加载等机制.所以下面就来分别从单例模式的实现方法和应用场景来介绍 ...
最新文章
- 如何编辑PDF文件,怎么修改PDF中的文字
- JAVA学习笔记——JAVA基础语法(四)
- Windows 7官方主题之“海上航行”
- python 结束进程 terminate_python – 如果已存在浏览器窗口,则process.terminate()不适用于chrome / firefox子进程...
- python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...
- cpu飙升 死循环_java排查一个线上死循环cpu暴涨的过程分析
- 5911. 模拟行走机器人 II
- Python爬虫从入门到放弃(二十)之 Scrapy分布式原理
- 远程服务器登入信息,远程登录服务器查看信息
- 货物被偷把沃尔玛逼急了 将在逾1000家门店安装AI相机
- C++ memset 栈空间出现段错误
- Baxter实战 (四)ubuntu14.04安装kinect V2
- 仓库进销存管理软件系统如何更换电脑使用
- ViewPage2和Fragment以及Tablayout使用
- 服务器维修责合同,2021年服务器维护委托合同样本.doc
- 光敏二极管、光电二极管判断正负
- linux 服务器远程开机,详解使用Ubuntu系统中实现远程开机的方法
- 打开catia界面全是白色怎么办_CATIA复合材料设计教程:1.软件安装
- UnityShader(三)基础多光照+遮罩Shader
- 【已解决】阿里自动滑块 x5sec 解密 钉钉数据采集
热门文章
- 人工机器:深度学习CNN到底实现了什么
- 为什么已有Elasticsearch,我们还要重造实时分析引擎AresDB?
- 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化
- Java学习笔记二十二:Java的方法重写
- python中的无参装饰器和有参装饰器
- windows下看端口占用
- extjs插件开发上传下载文件简单案例
- Mono for Android 显示远程图片
- 关于宁波一些眼科流传的营养针
- FastDfs上传图片时报错configparser.NoOptionError: No option ‘connect_timeout‘ in section: ‘__config__‘