java 单件模式
来源:互联网 发布:软件开发行业怎么样 编辑:程序博客网 时间:2024/05/22 09:03
定义:确保一个类只有一个实例,并提供一个全局访问点。
单件模式与全局变量:
- 全局变量必须在程序一开始就创建这个变量,如果对象十分耗费资源且这次执行过程中未用得到,则造成了浪费。单件模式可以在需要是创建对象。
- 单件模式用于需要一个对象的情况,例如:线程池,缓存,注册表等。
示例
package singleton;/** * Created by zjy on 2017/4/5. * 双重加锁,首先检查是否创建,如果未检查,进行同步. */public class Singleton { //当 uniqueInstance 被初始化时,多个线程可以正确处理uniqueInstance实例 private volatile static Singleton uniqueInstance; public static Singleton getInstance(){ if (uniqueInstance ==null){ //只有第一次彻底执行这段代码 synchronized (Singleton.class){ if (uniqueInstance ==null){ uniqueInstance = new Singleton(); } } } return uniqueInstance; }}
- 采用双重加锁模式,Java5 之后才能用volatile关键字
- 也可以延迟创建实例且只同步 getinstance方法,不过性能不佳
- 也可以急切实例化,可是就直接创建实例。
- 如果使用多个类加载器,可能会导致多个实例单例模式失效。
0 0
- java单件模式
- 单件模式 java
- java 单件模式
- 多线程单件模式-Java
- 单件模式(java)
- JAVA设计模式之单件模式
- java学习之单件模式
- java设计模式之单件模式Singleton
- Java设计模式——单件模式
- java设计模式——单件模式
- 单件模式
- 单件模式
- 设计模式-单件
- singleton单件模式
- Singleton (单件模式)
- 单件模式(Singleton)
- 一番话:单件模式
- 单件模式
- 小波变换和motion信号处理(二)
- PHP内核探索:Zend引擎
- 微信浏览器取消缓存的方法
- 20170407STL012_STL_容器和算法效率
- apache2.4.25编译
- java 单件模式
- Database Exception (#1045)
- 【IOS】ARCGIS SDK FOR IOS 100.0 导入天地图底图的方法
- jQuery ajaxSetup() 方法
- js鼠标事件大全
- 关于Android中的armeabi 和armeabi-v7a
- C#之for语句
- leetcodeOJ 96. Unique Binary Search Trees
- 1500