JAVA基础(singleton的几种实现方式)

JAVA基础(singleton的几种实现方式),第1张

JAVA基础(singleton的几种实现方式),第2张

1.eager
public class eager initialization {
private static Resource Resource = new Resource();
公共静态资源get Resource(){
return Resource;
}
静态类资源{
}
}
2。lazy
public class safelazinitialization {
private static Resource Resource;
public synchronized静态资源getInstance(){
if(Resource = = null)
Resource = new Resource();
返回资源;
}
静态类资源{
}
}
3。双重检查锁定singleton(仅限Java版本5.0和更高版本)
类双重检查锁定singleton {
/Java 5.0修改内存模型以确保用volatile声明的变量对于双重检查锁定是正确的
私有volatile静态双重检查锁定singleton唯一实例;
private doublecheckedlocking singleton(){ }
public static doublecheckedlocking singleton getInstance(){
if(unique instance = = null){
synchronized(doublecheckedlocking singleton . class){
if(unique instance = = null){
unique instance = new doublecheckedlocking singleton();
}
}
}
return unique instance;
}
}
4。惰性初始化Holder类IDOM
公共类资源工厂{
/添加一个helper类来初始化对象
私有静态类ResourceHolder {
公共静态资源Resource = new Resource();
}
公共静态资源get Resource(){
return Resource factory。资源持有者. resource;
}
静态类资源{
}
}以上四种方法都是实现线程安全的方法。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » JAVA基础(singleton的几种实现方式)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情