单例模式
来源:互联网 发布:mac os 系统修复 编辑:程序博客网 时间:2024/06/13 22:33
1.饿汉式
在调用获取实例方法之前就执行了构造方法,是一种线程安全的写法。
public class HttpIo{
private static final HttpIo INSTANCE= new HttpIo();
private HttpIo() { }
public static HttpIo getInstance(){
return INSTANCE;
}
2.懒汉式---线程安全
在调用static方法getInstance()获取实例时,才执行构造方法
public class FileIo {
private static volatile FileIo fileIo;
private FileIo() {}
public static FileIo getInstance() {
if(fileIo==null) {
synchronized (FileIo.class){
if(fileIo==null) {
fileIo=new FileIo();
}
}
}
returnfileIo;
}
}
3.静态内部类----线程安全
public class HttpIo{
private static final class HttpIoHolder {
private static final HttpIo INSTANCE= new HttpIo();
}
private HttpIo() { }
public static HttpIo getInstance(){
return HttpIoHolder.INSTANCE;
}
当执行getInstance()方法的时候就去调用HttpIoHolder内部类里面的INSTANCE实例,此时HttpIoHolder 内部类会被加载到内存里,在类加载的时候就对INSTANCE实例进行初始化。和饿汉式一个道理,保证了只有一个实例,而且在调用getInstance()方法的时候才进行INSTANCE实例的初始化,又具有懒汉式的部分特性。
参考: http://www.sohu.com/a/125784913_467808
阅读全文
0 0
- 单例、单例模式
- 单例模式-多线程单例模式
- 单件模式(单例模式)
- 设计模式------单例模式
- 设计模式------单例模式
- 设计模式-单例模式
- 设计模式 - 单例模式
- 设计模式---单例模式
- 设计模式---单例模式
- PHP模式-单例模式
- 【设计模式】单例模式
- 设计模式-单例模式
- 设计模式----单例模式
- 设计模式--单例模式
- 设计模式-单例模式
- 单例模式(单子模式)
- 设计模式-单例模式
- [设计模式] 单例模式
- MVC,MVP 和 MVVM
- css中的BFC
- 快速排序
- Alamofire进行网络请求(实训)
- 首个裸眼3D行业标准推出!真实视觉迎来发展新契机_智能
- 单例模式
- android 高级之旅 (一)网络加载框架volley基本用法
- Enum枚举类
- $.ajax()方法详解
- 分享一个不用pypcap的python抓包脚本
- JavaScript&JavaScript引擎&ECMAScript的关系
- C语言作业-5-1高精度小数
- 几种存储器的学习笔记
- MyBatis优化——log4j的使用