阿里面试官:连Spring都玩不转,那就趁早放弃Java吧

前言

大家好,我是子路,一个靠Java吃饭的男人

前几天,有个B站的粉丝跟我讲,他去阿里面试的时候,被问到:如何理解Spring当中的循环依赖?

对于Spring中循环依赖这个问题,我有录制过详细的讲解视频,感兴趣的朋友可以去哔哩哔哩上看一下:子路玩Java

其实对于这个问题,又是被阿里这样的大厂面试官问出来,那么他肯定不是单纯的让你讲讲循环依赖的概念就可以了的,你在回答上要体现出你对于一个技术点的广度与深度的思维能力,才能让面试官更加认可你。

我这里就稍微表述一下吧,更详细的解析,大家可以去看看我关于这个问题拍的视频。

如何理解Spring当中的循环依赖?

问:如何理解Spring当中的循环依赖?

回答思路:首先在Spring Framework整个体系当中,我们的Bean是由一个BeanDefinition来构建的,就是BeanDefinition可以理解为我们Spring的一个建模,然后如果我们要理解循环依赖的话,那么首先我们要讲到我们的Springbean的生命周期(这个在我的前一篇文章中有讲到),看下图:

其中很重要的一个流程就是:

Spring在做完一系列验证之后,就回去从它开始要实例化Bean之前,会去容器当中,也就是Spring单例池当中获取一遍,看它存不存在就是有没有被创建,如果没有被创建,再去看一下它们有没有存在的二级缓存当中就是有没有被提前暴露。

如果都没有,那么我们的代码会接着往下执行——>创建X对象,创建完X对象之后,就会对这个X对象做一些初始化的工作:填充属性,在这个过程当中,它发觉X依赖Y,那么它就会走Y的生命周期流程。

和X一样,首先它会去Y做验证,然后判断Y有没有在单例池当中,如果没有在单例池当中的话,再判断Y有没有被提前暴露,这个时候Y是没有被提前暴露的,那Y也会接着往下执行,就会把Y给实例化好。接着再对Y做一些初始化工作,比如说把Y提前暴露,比如说把Y去做属性填充。

这个时候,当Y做属性填充,它发觉它要填充X,但是这时它又发觉X并没有被完整的实例化好,所以不能填充。它就不得不再去走一遍或者创建X的流程,那么又会走刚刚第一次X流程,在走X流程的过程中,它会发觉X已经被提前暴露了,所以它能够拿到一个已经提前暴露好的ObjectFactory所产生的一个X对象,那么这样子就完成了循环依赖

特别提到:循环依赖是支持单例的,以及非构造方法注入的。

这里文字表述应该是能看懂的,如果还觉得混乱的话,我建议大家去看一下我B站上的视频。

Spring的重要性

毫不夸张的说,Spring是每一位Java人都必须掌握的框架,换句话说,你只要是做Java开发的,就没有不会Spring的。

之前,有个学生跟我讲,去面试的时候被怼了,面试官问多了几个关于Spring源码的问题,自己没有答上来,除此之外,其它的问题都感觉回答得蛮好。但最后面试官跟他说:连Spring都玩不转,你还是别做Java了吧!

这个学生觉得很委屈,几个问题没回答上来而已,不要就不要,有必要说这句话嘛?

我安慰他说,Spring是任何一个Java程序员都必须要充分掌握的,面试官这样说确实欠妥,但不失为一种鞭策。很多刚入行的程序员都认为,会一些简单的业务代码,能上手一些项目,就足以在这一行混口饭吃。忽略技术源码、底层的人不在少数,而这些恰恰是你能在行业中立足的关键。

好了,多余的话就不说了,我希望大家既然选择了Java开发这条路,就应该认真对待,要爱上Java。

欢迎关注:子路玩Java

上面是我在B站的视频,感兴趣的朋友可以去看看,关注一下,感谢大家支持!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,658评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,482评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,213评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,395评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,487评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,523评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,525评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,300评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,753评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,048评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,223评论 1 343
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,905评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,541评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,168评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,417评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,094评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,088评论 2 352