背景:
面试中会问道spring相关知识,其中有spring是否单例的问题。
分析:
spring 单例有时候会说的是控制层是否单例。
从单例的概念将,就是一个例子,bean的一个实力。也就是一个类只有一个对象。有点类似单例模式的设计一样。单例模式的根本就是总体就定义全局唯一的量。在这个全局的唯一的量好去读i整个系统继续维护。
Spring中单例的理解:
spring在控制层层的单例呢,就是直接在控制层创建了一个单例的对象,用于对整个系统进行范围把控。目的是把系统中后续求情过来的量都进行管理。
举例:
启动一个项目,默认启动一个控制层的对象单例。里面存放一些必要属性。比如系统的配置属性,一般不会动,也不会改变。
后续接到很多请求短的请求。每个请求就是一个任务,也即是一个线程(线程定义就是一个小型化的进程,就是一个小单独功能的执行任务)。这个就是多线程,线程多了之后就会涉及到线程之间数据交互的问题。
我们知道的多线程的交互,根本上分为两种实现,1.通过每个线程内部复制一个可被访问的量 2一个是放入到本地线程中也就是ThreadLocal中的副本。
总体都是通过复制副本拷贝,方便数据交互。
所以这个spring 单例多线程的问题:
即使上就是spring提供的一个先整体的环境,整体的环境下存放的被访问的数据,这个数据就是多线程中需要相互交换的数据。解决的就是一个系统过来多个任务之间的互相交互。



