美文网首页
单例模式——静态内部类懒加载方案

单例模式——静态内部类懒加载方案

作者: zizi192 | 来源:发表于2017-08-02 14:51 被阅读0次

单例模式的实现方法众多,但在多线程环境下,通过静态内部类的方案既能保证线程安全,又能在调用时才加载。具体示例如下:

public class SingleTon {
  
      // 利用静态内部类特性实现外部类的单例
      private static class SingleTonBuilder {
          private static SingleTon singleTon = new SingleTon();
      }
  
     // 私有化构造函数
     private SingleTon() {
 
     }
 
     public static SingleTon getInstance() {
         return SingleTonBuilder.singleTon;
     }
 
     public static void main(String[] args) {
         SingleTon instance = getInstance();
     }
}

原理:加载SingleTon时,静态内部类SingleTonBuilder不会被同时加载。当访问其静态变量、方法时,静态内部类才被加载并初始化

image.png

相关文章

网友评论

      本文标题:单例模式——静态内部类懒加载方案

      本文链接:https://www.haomeiwen.com/subject/pcoelxtx.html