单例模式的四种实现及其优缺点
来源:互联网 发布:js 球状旋转效果 编辑:程序博客网 时间:2024/05/26 20:22
//单例模式的四种实现方式
//1.非线程安全
public class Test { public static Test obj; private Test(){}; public static Test getInstance() { obj = new Test(); return obj; } }
//2.非线程安全,永远需要这个对象,但是类加载时就会初始化这个对象,占用内存
class Test2{ public static Test2 obj=new Test2(); private Test2(){}; public static Test2 getInstance(){ return obj; }}
//3.线程安全,慢
class Test3{ public static Test3 obj; private Test3(){}; //每次获取对象都会走到这个“线程安全”的方法,等待获取锁,性能大减 public static synchronized Test3 getInstance(){ if(obj==null){ obj=new Test3(); return obj; } return obj; }}
//4.线程安全,快
class Test4{ public static volatile Test4 obj; // 对obj的判断和操作都在主存进行 private Test4(){}; public static Test4 getInstance(){// 多个线程可以共用这个方法 if(obj==null){ //对象创建成功后,并发量大增 synchronized (Test4.class){ if(obj==null){ obj=new Test4(); return obj; } } } return obj; }}
注:第二种为“饿汉式”实现方法,即不管用不用这个对象,都在类加载时创建:
1.优 点,场景为经常使用时,使用这种方式;
2.不确定是否使用时,饿汉会占用内存;你想,不管饿不饿,就把人家当成饿死鬼做了一大锅馒头,人家不吃多特么浪费啊!~~
阅读全文
0 0
- 单例模式的四种实现及其优缺点
- 单例模式的实现方法及其优缺点
- 单例模式及其优缺点
- 设计模式:单例模式的三种创建方式及其各自的优缺点
- lvs的四种工作模式及其优缺点比较
- 单例模式的优缺点
- 单例模式的优缺点
- 单例模式的优缺点
- 单例模式的优缺点
- 单例模式的优缺点
- 单例模式的几种实现及其比较
- 单例模式两种实现方法,优缺点各是什么?
- 单例模式的三种实现 以及各自的优缺点
- 单例模式的三种实现 以及各自的优缺点
- 单例模式的三种实现 以及各自的优缺点
- 单例模式及其实现
- 单例模式的几种实现方式和各自优缺点分析
- 单例模式优缺点
- 配置wamp
- NodeMCU刷uart模块掉坑~~~
- ForeSpider数据采集系统如何采集源码中看不到的数据
- LNMP一键安装包下wordpress更新问题
- Java public protected default private 访问权限区别
- 单例模式的四种实现及其优缺点
- Glide 4.0源码分析(2)
- jax-rpc、jax-ws和 axis、xfire的联系和区别
- 关于 ioctl 详细信息
- 2017年近期信息安全大会TOP前5名!技术大牛必看!
- git 添加文件忽略
- java的队列和栈
- Oracle数据库知识整理
- 配置wnmp