java单例
来源:互联网 发布:淘宝网我是卖家在哪里 编辑:程序博客网 时间:2024/06/07 05:46
/**
*五、 双重校验锁
*/
class
LockSingleton{
private
volatile
static
LockSingleton singleton;
private
LockSingleton(){}
//详见:http://www.ibm.com/developerworks/cn/java/j-dcl.html
public
static
LockSingleton getInstance(){
if
(singleton==
null
){
synchronized
(LockSingleton.
class
){
if
(singleton==
null
){
singleton=
new
LockSingleton();
}
}
}
return
singleton;
}
}
/**
* 四、枚举
*/
enum
EnumSingleton{
INSTANCE;
public
void
doSomeThing(){
}
}
/**
* 三、静态内部类
*/
class
InternalSingleton{
private
static
class
SingletonHolder{
private
final
static
InternalSingleton INSTANCE=
new
InternalSingleton();
}
private
InternalSingleton(){}
public
static
InternalSingleton getInstance(){
return
SingletonHolder.INSTANCE;
}
}
/**
* 二、恶汉
*/
class
HungrySingleton{
private
static
HungrySingleton singleton=
new
HungrySingleton();
private
HungrySingleton(){}
public
static
HungrySingleton getInstance(){
return
singleton;
}
}
/**
* 一、懒汉
*/
class
LazySingleton{
private
static
LazySingleton singleton;
private
LazySingleton(){
}
public
static
LazySingleton getInstance(){
if
(singleton==
null
){
singleton=
new
LazySingleton();
}
return
singleton;
}
0 0
- Java单例注意事项
- java单例模式
- Java单例模式
- java单例模式
- java单例
- java单例模式
- Java单例模式
- Java单例模式
- java单例模式
- java单例讲解
- java 单例
- Java单例模式
- java 单例模式
- java单例模式
- java单例模式
- java单例
- java单例模式
- java 单例模式
- POJ 3468 A simple problem with integers Splay 区间维护模板题
- 利用XListView获取数据库数据(未分页版)
- Android 应用界面风格与主题(style and theme)
- R语言学习(转载)
- Android 高仿微信支付键盘
- java单例
- POJ 3159 Candies
- 基于Service的简易音乐播放器
- Java NIO流 -- 缓冲区(Buffer,ByteBuffer)
- 杭电-4135 Co-prime(基础容斥原理)
- C++指针和引用的区别与联系
- Oracle里的哈希连接原理
- 强连通分量
- <meta http-equiv="X-UA-Compatible" content="IE=edge">