设计模式单例模式
来源:互联网 发布:python 创建临时文件 编辑:程序博客网 时间:2024/06/07 20:27
- 懒汉式单例
public class Singleton { private static Singleton uniqueInstance; private Singleton(){}; public static Singleton getInstance() { if (uniqueInstance==null) { uniqueInstance=new Singleton(); } return uniqueInstance;} public static void main(String[] args) { Singleton singleton=Singleton.getInstance(); Singleton singleton1=Singleton.getInstance(); System.out.println(singleton==singleton1);}}
2.这种模式在多线程下是不安全的,可以加synchronized关键字
public static synchronized Singleton getInstance() { if (single == null) { single = new Singleton(); } return single; }
双重机制
public static Singleton getInstance() { if (singleton == null) { synchronized (Singleton.class) { if (singleton == null) { singleton = new Singleton(); } } } return singleton; }
3.饿汉式单例,天生就线程安全,有final关键字
public class Singleton1 { private Singleton1() {} private static final Singleton1 single = new Singleton1(); //静态工厂方法 public static Singleton1 getInstance() { return single; } public static void main(String[] args) { Singleton1 sin=Singleton1.getInstance(); Singleton1 sin1=Singleton1.getInstance(); System.out.println(sin==sin1); }}
参考自http://blog.csdn.net/jason0539/article/details/23297037/
阅读全文
0 0
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 设计模式-单例模式
- [设计模式] 单例模式
- 设计模式--单例模式
- 设计模式---单例模式
- 设计模式--单例模式
- 设计模式 -----单例模式
- 设计模式:单例模式
- Messages: No result defined for action cn.itcast.oa.test.TestAction and result SUCCESS
- c#开发环境下用Directx载入3D模型
- 扫描二维码
- SDN控制器之OVN实验四:配置OVN负载均衡器
- php 通过经纬度获取距离
- 设计模式单例模式
- Problem C: 一元二次方程类
- Sqlite 分组查询
- 【Jsoup】配合 htmlunit 爬取异步加载的网页
- REST架构
- JAVA的动态代理入门
- 【spring配置】——spring整合Quartz定时器
- ArcGIS for Android 自定义地图比例尺
- IT基础22