手写单例模式

xiaoxiao2025-04-08  21

        单例模式作为常用的设计模式,在项目中经常使用。手写单例模式,考察面试者的java基础,关键字的理解。面试了很多面试者,能完整写出来的,线程安全的,不到三分之一。还是比较考研基础的。

常用写法:

 

饿汉模式:

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

懒汉模式:

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

双重校验:

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

静态内部类:

public class Singleton { private Singleton() {} private static class SingletonInstance { private static final Singleton INSTANCE = new Singleton(); } public static Singleton getInstance() { return SingletonInstance.INSTANCE; } }
转载请注明原文地址: https://www.6miu.com/read-5027771.html

最新回复(0)