码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 阿里问的这个面试题,真的有这么难吗?


    最近很多水友在后台留言问:
    Spring 的循环依赖问题,这也是最近两年新出的面试频度较高的面试题!

    下面我们就通过这篇文章让大家了解循环依赖的问题

    什么是循环依赖?
    循环依赖其实是指两个及以上 bean 相互持有对方,最终形成闭环的过程(一般聊循环依赖都是默认的单例 bean),简单说就是 A 依赖 B,B 依赖 C,C 又依赖 A。

    其实在 Spring 中,有两种循环依赖的场景…
    第一种:构造器的循环依赖
    第二种:setter 的依赖注入

    第一种是没有办法解决的,而第二种可以使用提前暴露对象的方式进行解决

    那么肯定有很多小伙伴会有疑问,为什么?
    其实想搞明白这个问题,需要对 Spring 的 Bean 的生命周期有一个完整的了解,如下图:

    大家可能对这个图不太熟悉,但是我要强调的是,图中我已经用三种颜色标识了,除了使用这部分之外,可以分为实例化和初始化,这也是解决问题的核心。
    同时,Spring 中还使用了三级缓存来解决问题:

    上图就是 Spring 中的三级缓存,那么问题来了
    Spring 是如何通过三级缓存来解决问题的?
    一级缓存能不能解决?为什么?
    二级缓存能不能解决?为什么?
    为什么非要使用三级缓存?使用三级缓存是为了解决什么问题?
    【这里想说,因为自己也走了很多弯路过来的,所以才下定决心整理,收集过程虽不易,但想到能帮助到一部分自学java 的人,心里也是甜的!有需要的伙伴请点㊦方】↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

  • 相关阅读:
    基于BiLSTM-CRF模型的分词、词性标注、信息抽取任务的详解,侧重模型推导细化以及LAC分词实践
    Spring-day01 spring全家桶,如何学习框架,单元测试
    《吐血整理》高级系列教程-吃透Fiddler抓包教程(33)-Fiddler如何抓取WebSocket数据包
    QT环境配置
    RK3288 android7.1 修改双屏异触usb tp触摸方向
    大数据请把文章推给想了解DLL的人
    Java基础实战项目-------网上订餐系统
    《SpringBoot篇》10.JPQL超详细介绍与JPA命名规则
    王杰qtday3
    基于Seata的分布式事务方案
  • 原文地址:https://blog.csdn.net/m0_54850604/article/details/127389939
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号