一:饿汉式单例模式

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;
}

四中方式实现单例模式相关推荐

  1. php 获取实例的类名,PHP类名获取方式及单例模式实现

    类名是什么意思?顾名思义就是各类起了一个名字,java中有两种数据类型,基本数据类型和引用数据类型,这里类就是引用数据类型,我们在定义一个类的时候必须给类起一个名字,一边后面的使用 比如:int a ...

  2. python高端写法_python高级篇:使用元类方式实现单例模式详解

    对于编程开发的朋友来说,设计模式应该最为熟悉不过了,如果要谈到哪种设计模式最为简单,也最容易理解,首当其冲的"单例模式"应该不为过了.本文主要讲解在python3中如何使用元类实现 ...

  3. J2EE (十) Java中多种方式实现单例模式

    简介 "单例"即单一实例从名字上望文生义即可知道该类是做什么的,可见设计模式的名字也是很重要的,让人通过名字就能知道模式的用途,通用性强我们再命名自己的模式.函数.过程等时候也要遵 ...

  4. 【学亮说】Java实现单例模式的8种方式(你真的搞懂单例模式了吗?)

    第一种:饿汉式单例模式 package com.zhangxueliang.dp.sigleton;/*** 饿汉式单例模式* * @Author:Zhang Xueliang* * @Date:20 ...

  5. python采用单例模式游戏_Python实现Singleton模式的方式详解

    前言 使用python实现设计模式中的单例模式.单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的.本文将简要介绍一下python中实现单例模式的几种常见方式和原理.一方面可以加深对 ...

  6. 单例模式的5种实现方式,以及在多线程环境下5种创建单例模式的效率

    这段时间从头温习设计模式.记载下来,以便自己复习,也分享给大家. [java] view plaincopy package com.iter.devbox.singleton; /** * 饿汉式 ...

  7. Java面试23种设计模式之单例模式的8种实现方式

    单例模式8中实现方式 1.单例模式介绍 2.单例模式的八种方式 3.饿汉式(静态常量),这种单例模式可用,可能造成内存浪费. 4.饿汉式(静态代码块),这种单例模式可用,可能造成内存浪费. 5.懒汉式 ...

  8. 单例模式的几种实现方式详解以及原理

    单例模式介绍 前言 这是一个的萌新写的博客,以下是学习课程以后的总结,用于个人的复习与总结,如果有误还请多多包容和指正. 了解单例模式: 单例类只能有一个实例 单例必须创建自己的唯一一个实例 单例类必 ...

  9. 设计模式学习笔记(四)单例模式的实现方式和使用场景

    单例模式可以说是Java中最简单的设计模式,也是技术面试中频率极高的面试题.因为它不仅涉及到设计模式,还包括了关于线程安全.内存模型.类加载等机制.所以下面就来分别从单例模式的实现方法和应用场景来介绍 ...

最新文章

  1. 如何编辑PDF文件,怎么修改PDF中的文字
  2. JAVA学习笔记——JAVA基础语法(四)
  3. Windows 7官方主题之“海上航行”
  4. python 结束进程 terminate_python – 如果已存在浏览器窗口,则process.terminate()不适用于chrome / firefox子进程...
  5. python入门教程完整版(懂中文就能学会)-Python入门教程完整版(懂中文就能学会)...
  6. cpu飙升 死循环_java排查一个线上死循环cpu暴涨的过程分析
  7. 5911. 模拟行走机器人 II
  8. Python爬虫从入门到放弃(二十)之 Scrapy分布式原理
  9. 远程服务器登入信息,远程登录服务器查看信息
  10. 货物被偷把沃尔玛逼急了 将在逾1000家门店安装AI相机
  11. C++ memset 栈空间出现段错误
  12. Baxter实战 (四)ubuntu14.04安装kinect V2
  13. 仓库进销存管理软件系统如何更换电脑使用
  14. ViewPage2和Fragment以及Tablayout使用
  15. 服务器维修责合同,2021年服务器维护委托合同样本.doc
  16. 光敏二极管、光电二极管判断正负
  17. linux 服务器远程开机,详解使用Ubuntu系统中实现远程开机的方法
  18. 打开catia界面全是白色怎么办_CATIA复合材料设计教程:1.软件安装
  19. UnityShader(三)基础多光照+遮罩Shader
  20. 【已解决】阿里自动滑块 x5sec 解密 钉钉数据采集

热门文章

  1. 人工机器:深度学习CNN到底实现了什么
  2. 为什么已有Elasticsearch,我们还要重造实时分析引擎AresDB?
  3. 【Python爬虫学习实践】基于BeautifulSoup的网站解析及数据可视化
  4. Java学习笔记二十二:Java的方法重写
  5. python中的无参装饰器和有参装饰器
  6. windows下看端口占用
  7. extjs插件开发上传下载文件简单案例
  8. Mono for Android 显示远程图片
  9. 关于宁波一些眼科流传的营养针
  10. FastDfs上传图片时报错configparser.NoOptionError: No option ‘connect_timeout‘ in section: ‘__config__‘