JVM 群关于 Autowired 的讨论
前一段时间 JVM 群有人遇到了一个 stackoverflow 的问题,引发了一个关于 Autowired 的讨论,由于我做的项目可能比较小,并没有遇到过,但感觉这也许就是一个坑,记录下来
,如果谁有遇到这个问题,说不定就有帮助。
下面我会贴出来群里面的讨论,如果不想看,直接看我的得出的结论,所以 TL;DR 版:
spring 中依赖注入有两个注解:Autowired 和 Resource。Resource 的注入的时候是 byName,而 Autowired 注入的时候是 byType,所以平时并没有很大的区别,但 Autowired 和 getBean(Object.class) 会导致栈很深,有可能会导致 stackoverflow,所以如果遇到这个栈很深,不使用 Autowired 会缓解一下,也就是根据我的理解,在项目中能用 Resource 还是用 Resource 比较好。
原版群里的详细讨论如下图(至于深层次的原因,大家可以根据源码自己跟进看一下):
里面 深圳-随缘-颉 贴出的一张图:
感谢这一群小伙伴,如果有信息泄漏,很抱歉。
另外曾经有朋友因为 JVM 的存在,就认为 Java 没有内存泄漏的问题,这是对 Java 有多大的误解啊。
全文完,如果本文对您有所帮助,请花 1 秒钟帮忙点击一下广告,谢谢。
作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/562
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
作 者: BridgeLi,https://www.bridgeli.cn
原文链接:http://www.bridgeli.cn/archives/562
版权声明:非特殊声明均为本站原创作品,转载时请注明作者和原文链接。
近期评论