一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Java单例模式

时间:2026-07-04 11:23:54 编辑:袖梨 来源:一聚教程网

java使用单例设计模式的方式有很多种,比如饿汉式,懒汉式,静态内部类式,双重检测锁式以及枚举方式,这里主要讲枚举式。

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、如何选择?

单例对象占用资源少,不需要延时加载:
枚举式 好于 饿汉式单例对象占用资源大,需要延时加载:
静态内部类式 好于 懒汉式

以上为个人理解,有不正确的地方欢迎大家指教

热门栏目