先上代码
public class Singleton {
private static Singleton instance = null;
public static Singleton getInstance() {
if(instance == null) {
instance = SingletonLazy.lazy;
}
return instance;
}
private static class SingletonLazy {
public static Singleton lazy = new Singleton();
}
}
classloader首先会加载Singleton.class文件,运行到if(instance==null)这句的时候,如果为空,回去加载SingletoneLazy.class。如此便实现了lazy初始化。
本文介绍了一种懒汉式的单例模式实现方法。通过类加载机制保证了单例对象的唯一性和延迟加载。当首次调用getInstance方法时,内部静态类SingletonLazy会被加载并实例化单例对象。
5383

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



