类加载就会导致该单例对象被创建,随着类的加载而创建的,如果该对象足够大的话,而一直没有使用就会造成内存的浪费。
方式一:静态变量方法
eg:
public class Singleton { //私有构造方法 private Singleton() {}; //在本类中创建本类对象 private static Singleton singleton = new Singleton(); //提供一个公共的访问方式,让外界获取对象 public static Singleton getInstance() { return singleton; } }
方式二:静态代码块方法
eg:
public class Singleton { //私有构造方法 private Singleton() {}; //在本类中创建本类对象 private static Singleton singleton; //在静态代码块中赋值 static { singleton=new Singleton(); } //提供一个公共的访问方式,让外界获取对象 public static Singleton getInstance() { return singleton; } }