Java

懒汉式与饿汉式单例类区别

小樊
82
2024-09-09 10:47:11
栏目: 编程语言

懒汉式与饿汉式单例类的区别主要体现在实例化时机、线程安全性和资源利用效率上。以下是详细介绍:

实例化时机

线程安全性

资源利用效率

示例代码

public class HungryStyle {
    private static final HungryStyle instance = new HungryStyle();

    private HungryStyle() {}

    public static HungryStyle getInstance() {
        return instance;
    }
}
public class LazyStyle {
    private static LazyStyle instance;

    private LazyStyle() {}

    public static synchronized LazyStyle getInstance() {
        if (instance == null) {
            instance = new LazyStyle();
        }
        return instance;
    }
}

综上所述,懒汉式单例类在实例化时机、线程安全性和资源利用效率方面与饿汉式单例类有所不同。懒汉式单例类通过延迟加载实例化对象,提高了资源利用效率,但需要注意线程安全问题。饿汉式单例类则在实例化时就已经完成了对象的创建,线程安全,但可能会造成一定的资源浪费。

0
看了该问题的人还看了