单例bean和原型bean的区别?

/ Java / 0 条评论 / 1922 浏览

1.单例bean指的是在多次请求时spring都只会实例化一个对象,并存在map中并放入缓存中,如果后续有请求会先从缓存中查找bean,如果找不到在实例化一个bean 2.原型bean指的是每次请求都实例化一个bean,没有缓存查找 请输入图片描述

请输入图片描述

结论: 1、单例bean系统只会实例化一个bean,后续会进行缓存查找,查找不到在实例化一个新的,不会频繁创建对象 2、原型bean每次请求都会实例化一个新的bean,会频繁创建对象

**Spring 为啥把bean默认设计成单例? 为了提高性能 1、少创建实例 2、减少垃圾回收 3、缓存快速获取

有什么劣势那? 如果有状态在并发情况下会出现线程不安全。