今天看了一篇关于将单例模式的文件感觉不错,链接http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/index.html
其中有一些点当时没看明白,补充了一些基础知识,再看的时候就容易了
1.在
懒汉式,线程不安全中:
private static Singleton instance;是多个实例共享一个instance,这个变量存放的是对象的地址,也就是共享一个存放地址的空间,而不是共享指向的对象空间(对象存放在堆里)
2.静态内部类在Java语言中是一个很特殊的类,跟普通的静态类以及非静态的内部类都有很大的差异。
因为java机制规定,内部类Holder只有在getInstance()方法第一次调用的时候才会被加载(实现了lazy),而且其加载过程是线程安全的(实现线程安全)。内部类加载的时候实例化一次instance。