【java设计模式系列】2. 单例模式(Singleton)

    xiaoxiao2026-10-07  2

    1. 懒汉模式

    优点:延迟加载

    缺点:会产生多线程同步吧

    public class Singleton { private static Singleton instance = null; private Singleton() { } public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }

    会产生多线程问题吧?改造如下:

    public class Singleton { private static Singleton instance = null; private Singleton() { } public static synchronized Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }

     

    对整个方法都加锁,太重了。实际只在第一次调用才需要加锁, 如何改?

    TODO

    2. 饿汉模式

    优点:不会出现多线程同步问题?

    缺点:对整个方法使用同步,会产生性能问题

    public class Singleton { private static Singleton instance = new Singleton(); private Singleton() { } public static Singleton getInstance() { return instance; } }

    转载请注明原文地址: https://ju.6miu.com/read-1312713.html
    最新回复(0)