java实现单例模式的几种方式
来源:互联网 发布:挣多少钱才能养家 知乎 编辑:程序博客网 时间:2024/06/13 23:38
我们知道实现单例模式的方式有很多种,如:懒汉式加载、饿汉式、双检锁的方式实现单例,今天主要介绍一下静态内部类、枚举、cas方式实现单例
静态内部类的方式实现单例
package test;/** * 静态内部类实现单例 * @author lenovo * */public class InnerClassSingle {private InnerClassSingle(){//私有化构造函数}private static class Holder{private static final InnerClassSingle instance = new InnerClassSingle();}public static final InnerClassSingle getInstance(){return Holder.instance;}}枚举的方式实现单例
package test;/** * 通过枚举实现单例 * 通过EnumSingle.INSTANCE.getInstance()方法获取Resource对象 * @author lenovo * */public enum EnumSingle {INSTANCE;private Resource resource;private EnumSingle() {resource = new Resource();}public Resource getInstance(){return resource;}}//目标类class Resource{}CAS方式实现单例
package test;import java.util.concurrent.atomic.AtomicReference;/** * 通过cas操作实现单例 * 缺点:可能长时间没有获取CPU资源导致一直循环 * @author lenovo * */public class SingleCAS {private static final SingleCAS singleCAS = null;private static AtomicReference<SingleCAS> ref = new AtomicReference<SingleCAS>();private SingleCAS(){//将构造函数私有化}public static SingleCAS getSingle(){for(;;){if(ref.get() != null){return singleCAS;}SingleCAS single = new SingleCAS();if(ref.compareAndSet(null, single)){return ref.get();}}}}
阅读全文
0 0
- Java单例模式的几种实现方式
- java实现单例模式的几种方式
- Java单例模式几种实现方式
- 单例模式几种实现方式
- 单例模式的几种实现方式的对比
- 单例模式singleton的几种实现方式
- 单例模式的几种实现方式
- 单例模式的几种实现方式
- 单例模式的几种实现方式比较
- C#单例模式的几种实现方式
- 单例模式的几种实现方式总结
- 常用设计模式-单例的几种实现方式
- 单例模式的几种实现方式
- 单例模式的几种实现方式
- 单例模式的几种实现方式
- 单例模式的几种实现方式
- 单例模式实现的几种方式
- 单例模式的几种实现方式
- yii2使用百度编辑器上传图片到腾讯云对象存储
- 谈谈函数的调用过程,栈帧的创建和销毁。
- Java程序运行时的内存分析01
- Max Scripts 脚本学习(一)——教程内容结构
- 【深度学习】关于深度学习,金融交易的切入点是什么?
- java实现单例模式的几种方式
- 升级到mac 10.13.1 cocoaPod Ruby路径出错问题
- Python(五)正则表达式常见匹配
- Spring注解
- Java基础 —— HashMap 与 TreeMap
- bzoj2733 [HNOI2012]永无乡(splay启发式合并)
- 代码的味道与启发
- java.util 类 StringTokenizer
- SpringCloud学习踩坑记录