静态内部类

静态内部类(也是一种懒加载方式)

要点

  • 外部类没有static属性,不会像饿汉式那样立即加载对象
  • 只有真正调用getInstance()才会加载静态内部类。加载类时是线程安全的。instance是static final 型(final可加可不加),保证了只有一个实例存在,而且只能被赋值一次,从而保证了线程安全。
  • 兼备了并发高效调用和延迟加载的优势!
public class StaticInnerSingleton {

    private StaticInnerSingleton() {}
    
    private static class SingletonClassInstance{
        private static final StaticInnerSingleton instance = new StaticInnerSingleton();
    }
    
    public static  StaticInnerSingleton getInstance() {
        return SingletonClassInstance.instance;
    }
    
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 34,803评论 18 399
  • 首先举个用静态内部类实现单例的例子,看代码: 用静态内部列实现单例模式,既能保证延迟加载,又能保证线程安全,只创建...
    hayabusa_l阅读 6,315评论 3 9
  • 静态对象 静态对象的数据是全局唯一的,一改全改。 引用方便。直接用 类名. 静态方法名 或者 类名 . 静态变量名...
    Yanci516阅读 2,080评论 1 6
  • 昨天凌晨3点左右妈妈抱着女儿敲我的房门说她发烧了,手脚冰凉,我接过女儿,她卷成一团,有点抖的感觉,伴随着申吟和呼吸...
    甜心教主阅读 250评论 0 0
  • 同事周一刨腹產生下一個女寶,四斤六兩。媽媽怀著寶寶時吃了很多苦,如今小寶貝誕生,母女平安,大家都很高興,今天上午便...
    如心1976阅读 204评论 1 0

友情链接更多精彩内容