spring的单例模式如何实现?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring的单例模式如何实现?相关的知识,希望对你有一定的参考价值。

参考技术A 1.spring主要运用那些设计模式:
单例,工厂
2.单例模式实现:
核心是私有构造子
通过该类的静态方法 获取唯一的对象
其中主要是2种:
a.饿汉式
class Singleton
private static Singleton instance=new Singleton();
private Singleton()
static Singleton getInstance()
return instance;


b.懒汉式
class Singleton
private static Singleton instance=null;
private Singleton()
static Singleton getInstance()
if(instance==null)
instance=new Singleton();
return instance;

怎么实现一个线程安全的单例模式

设计模式在面试中挺常考的,单例模式是考的最多的。线程安全的单例还有很多种实现方法。可以使用静态内部类、双重校验锁、静态代码块等。

1、饿汉式
public class Singleton()
    private static Singleton instance = new Singleton();
    private Singleton()
    public static Singleton getInstance()
        return instance;
    

2、懒汉式
public class Singleton()
    private static Singleton instance;
    private Singleton()
    public static synchronized Singleton getInstance()
        if(instance==null)
            instance = new Singleton();
        
        return instance;
    

参考技术A 最简单的办法就是在单例模式所在的类中方法上加同步锁

以上是关于spring的单例模式如何实现?的主要内容,如果未能解决你的问题,请参考以下文章

spring注入如何实现单列模式?

Spring的单例模式底层实现学习笔记

如何对枚举类型实现的单例模式进行mock

Spring加载applicationContext.xml实现spring容器管理的单例模式

如何写一个简单的单例模式?

怎么实现一个线程安全的单例模式