java单例模式中的Holder是什么

区别

1、在声明类中,成员变量不声明实例变量,而是放置在静态内部类中。这种方法类似于懒汉。他们都采用类装载机制,以确保初始化实例只有一个线程。不同的是,Holder单个模式是将实例的初始化放入静态类别从而实现懒加载。

Holder模式的核心还是静态变量,足够方便,线程安全;通过静态Holder类持有真实例子,间接实现懒惰载入。

2、特点,既实现懒加载,性能好,线程安全。

实例

publicclassSingleton{
/**
*类级的内部类,也就是静态的成员式内部类,该内部类的实例与外部类的实例
*没有绑定关系,而且只有被调用到才会装载,从而实现了延迟加载
*/
privatestaticclassSingletonHolder{
/**
*静态初始化器,由JVM来保证线程安全
*/
privatestaticSingletoninstance=newSingleton();
}
/**
*私有化构造方法
*/
privateSingleton(){
}
publicstaticSingletongetInstance(){
returnSingletonHolder.instance;
}
}

以上就是java单例模式中Holder的介绍,希望对大家有所帮助。更多Java学习指路:Java基础

原文来自:https://www.py.cn
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容