前言
单例模式(Singleton pattern):确保一个类只有一个实例,并提供该实例的全局访问点
本文主要分析单例模式常见的几种实现方式
一. 类图
单例模式使用一个私有构造函数、一个私有静态变量以及一个公有静态函数来实现。
私有构造函数保证了不能通过构造函数来创建对象实例,只能通过公有静态函数返回唯一的私有静态变量。

二. 实现方式
2.1 饿汉式
饿汉式在类加载的时候就进行实例化,这样做的好处是线程安全;但缺点也是有的,首先在加载的时候就进行实例化,万一这个类占用的资源很大,就会非常浪费资源,毕竟它不一定在什么时候被使用,但内存是一开始就被占用了。
public class HungryManSingleton {
private static HungryManSingleton hungryManSingleton = new HungryManSingleton();
private HungryManSingleton() { }
public static HungryManSingleton getInstance() {
return hungryManSingleton;
}
}
复制代码
在main方法中验证饿汉式实现的单例模式:
HungryManSingleton instance1 = HungryManSingleton.getInstance();
HungryManSingleton instance2 =

本文详细解析了Java中单例模式的五种实现方式,包括饿汉式、懒汉式、双重校验锁、静态内部类和枚举实现。讨论了线程安全、资源利用率及反射与序列化对单例的影响,推荐使用枚举作为最佳实践。
最低0.47元/天 解锁文章
1819

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



