知识问答
Java设计模式之单例模式-北京软件开发公司
1、饿汉式
1)简单的饿汉式:
Public class ehanshiSingleton{
Private ehanshiSingleton(){
}
Private final static ehanshiSingleton h = new ehanshiSingleton();
Public static ehanshiSingleton getSingleton(){
Return lhanshiSingleton.h;
}
}
2)静态代码写法:
Public class ehanshiSingleton{
Private ehanshiSingleton(){
}
Private final static ehanshiSingleton h;
Static{
h=ehanshiSingleton();
}
Public static ehanshiSingleton getSingleton(){
Return lhanshiSingleton.h;
}
}
2、懒汉式
1)简单的懒汉式:
Public class lhanshiSingleton{
Private lhanshiSingleton(){
}
Private static lhanshiSingleton lanhanshiSingleton;
Public static lhanshiSingleton getSingleton(){
If(lanhanshiSingleton==null){
Return new lhanshiSingleton();
}
Return lanhanshiSingleton;
}
}
2)加锁后的懒汉式:
Public class lhanshiSingleton{
Private lhanshiSingleton(){
}
Private static lhanshiSingleton lanhanshiSingleton;
Public static synchronized lhanshiSingleton getSingleton(){
If(lanhanshiSingleton==null){
Return new lhanshiSingleton();
}
Return lanhanshiSingleton;
}
}
3)双重检查锁懒汉式:
Public class lhanshiSingleton{
Private lhanshiSingleton(){
}
Private static lhanshiSingleton lanhanshiSingleton;
Public static lhanshiSingleton getSingleton(){
Synchronized(lhanshiSingleton.class){
If(lanhanshiSingleton==null){
Return new lhanshiSingleton();
}
}
Return lanhanshiSingleton;
}
}
单例模式 java实现下一篇:php建站系统_PHP