单例模式

it2025-08-29  4

记录重点

在程序编写上,一般将单例模式分为两种: 饿汉式:在类加载完成时就完成了初始化,所以类加载比较慢,但获取对象的速度块。 懒汉式:在类加载时不初始化。等到第一次使用时才初始化。

饿汉:

public class Singleton{ private Singleton(){} private final static Singleton INSTANCE = new SingLeton(); public static Signleton getInstance(){ return INStANCE; } }

静态内部类(可用,推荐)

public class Singleton { private Singleton() {} private static final SingletonInstance(){ private static final Singleton INSTANCE = new Singletion(); } public static Singleton getInstance(){ return SingletonInstance.INSTANCE ; } }

这是很多开发者推荐的一种写法,这种静态内部类方式在Singleton类被装载时并不会立即实例化,而是在需要实例化时,调用getInstance方法,才会装载SingletonInstance类,从而完成对象的实例化。

同时,因为类的静态属性只会在第一次加载类的时候初始化,也就保证了SingletonInstance中的对象只会被实例化一次,并且这个过程也是线程安全的。

参考链接

感谢:鄙人薛某

最新回复(0)