最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Java单例模式
时间:2026-07-04 11:23:54 编辑:袖梨 来源:一聚教程网
java使用单例设计模式的方式有很多种,比如饿汉式,懒汉式,静态内部类式,双重检测锁式以及枚举方式,这里主要讲枚举式。

一、案例
1、新建一个接口类
/** * @author Gjing **/public interface MySingleton {void doSomething();}
2、新建枚举类,实现上面的接口
/** * @author Gjing **/public enumSingleton implements MySingleton{/** * 实例 */INSTANCE{@Overridepublic void doSomething() {System.out.println("执行方法。。。");}}}
3、测试
/** * @author Gjing **/public class Test {public static void main(String[] args) {Singleton.INSTANCE.doSomething();}}
以上为简单的使用枚举方式实现单例模式
二、扩展
1、枚举方式实现单例的好处
2、四种方式的比较
饿汉式: 懒汉式(单例对象延时加载): 静态内部类实现方式(也是一种懒加载方式): 双重检测锁式 枚举式(推荐):3、总结:
1. 饿汉式线程安全,调用效率高 ,但是不能延迟加载2. 懒汉式线程安全,调用效率不高,能延迟加载3. 双重检测锁式由于JVM底层内部模型原因,偶尔会出问题。不建议使用4. 静态内部类式线程安全,资源利用率高,可以延时加载5. 枚举单例线程安全,调用效率高,但是不能延迟加载
4、如何选择?
单例对象占用资源少,不需要延时加载:枚举式 好于 饿汉式单例对象占用资源大,需要延时加载:
静态内部类式 好于 懒汉式
以上为个人理解,有不正确的地方欢迎大家指教