java实现多线程延迟加载的单例模式

来源:互联网 发布:个人域名能备案吗 编辑:程序博客网 时间:2024/05/24 05:58
package offer;/* * 静态变量,静态方法,静态块等都是类级别的属性,而不是单纯的对象属性。他们在类第一次被使用时被加载(记住,是一次使用,不一定是实例化)。 * 我们可以简单得用 类名.变量 或者 类名.方法来使用它们。静态内部类的加载不需要依附外部类,在使用时才加载所以当外部类加载的时候不会加载内部类(也不加载静态内部类)。 * 静态内部类也是在使用的时候才被加载。 *  * */public class Singleton {   private static class InnerClass   {//在非静态内部类中不可以声明静态成员,只有静态内部类可以定义静态成员变量与成员方法  static final Singleton singleton=new Singleton();         }      private Singleton()   {//初始化Singleton,构造函数是私有的所以外部不能new出对象 只能通过getInstance()方法   }      public static Singleton getInstance()   {   return Singleton.InnerClass.singleton;   }   }

阅读全文
0 0