gpt4 book ai didi

java - Spring单例和Java单例(设计模式)有什么区别?

转载 作者:IT老高 更新时间:2023-10-28 13:49:19 25 4
gpt4 key购买 nike

我正在学习 Spring 框架,目前正在阅读一本关于它的书。在这本书中,它说 Spring 单例与 Java 单例不同?这是什么意思,有什么区别?谢谢

最佳答案

Java 单例由 Java 类加载器限定,Spring 单例由容器上下文限定。

这基本上意味着,在 Java 中,只有在加载它的类加载器的上下文中,您才能确定单例是真正的单例。其他类加载器应该能够创建它的另一个实例(假设类加载器不在同一个类加载器层次结构中),尽管您在代码中努力试图阻止它。

在 Spring 中,如果您可以在两个不同的上下文中加载单例类,那么我们可以再次打破单例概念。

因此,总而言之,如果 Java 不能在给定的类加载器中创建多个该类的实例,则 Java 将其视为单例,而 Spring 如果不能在给定的类加载器中创建多个类的实例,则将其视为单例。给定容器/上下文。

关于java - Spring单例和Java单例(设计模式)有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15252284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com