首先需要了解以下几个知识点:
1.登记式单例
2.类加载
3.静态内部类
登记式单例的例子如下:
首先因为静态内部类只有在使用的时候才会被加载,所以就解决了饿汉式的那种在类加载就实例化变量到内存,然后当该变量没有用到造成资源浪费的结果,即控制内存。
然后一开始我觉得这个跟懒汉式一样会造成线程不安全,会同时创建多个对象,后来看了类加载的代码发现在加载class文件的时候已经加了锁自然不会重复创建多个静态变量
本文探讨了登记式单例的设计模式,并分析了其如何利用静态内部类和类加载机制来实现延迟加载,有效避免资源浪费,同时保证线程安全性。
首先需要了解以下几个知识点:
1.登记式单例
2.类加载
3.静态内部类
登记式单例的例子如下:
首先因为静态内部类只有在使用的时候才会被加载,所以就解决了饿汉式的那种在类加载就实例化变量到内存,然后当该变量没有用到造成资源浪费的结果,即控制内存。
然后一开始我觉得这个跟懒汉式一样会造成线程不安全,会同时创建多个对象,后来看了类加载的代码发现在加载class文件的时候已经加了锁自然不会重复创建多个静态变量
354

被折叠的 条评论
为什么被折叠?
