,为什么?
单例bean只能在第一次创建bean时创建。将来,bean将被重用,对象将不会频繁创建。
单件豆子有很多优点,例如:1。重用bean降低了新实例的性能消耗;
2。减少jvm垃圾收集,因为bean更少,所以回收的对象更少;
3。您可以更快地获取bean,因为spring在生成单例对象之后将它们存储在缓存中。
当我看到最后一个可爱的答案时,我想笑。主要的问题应该是我还没有接触到spring框架。我有以下学习建议:
spring框架包含了许多顶级的架构设计思想。研究它需要很多经验。而设计模式也是一个大课题,有一本厚厚的设计模式书供你学习。所以,我们不能说谁先学这两样东西,应该用哪两样东西,应该学哪两样东西。
有人说设计模式是为了弥补java的缺点,这是合理的。把23种传统的设计模式都整理出来需要一点时间,要学会掌握它们确实很难。
首先,建筑师不是很好。他必须通过技术力量和建筑师的想法。其次,架构师是dubbo框架,基本原理是zookeeper、redis分布式缓存、jvm性能优化、nginxapache企业开发tomcat集群部署、大数据hadoop、hbase实时计算spark、storm、数据分析、分词和权重等核心技术。
如何成为一名优秀的建筑师?我用七张照片告诉你。
您可以先学习分布式锁的实现https://pan.baidu.com/s/1y8rkldbepkhxhs3gvjxgtg密码:umu3
当返回原型模式创建的bean用完后,它们会自然循环使用,因为每次创建bean实例时,单例模式的bean都不会循环使用。
事实上,gc回收对象与它们是否是springbean无关。
bean是一个公共实例对象,它与您的新实例基本相同。只是spring为您实例化bean并将其放入容器中。容器的底层数据结构是concurrenthashmap。
您可以阅读spring源代码分析书,了解spring背后的原理。