日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了

發(fā)布時(shí)間:2024/9/30 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

大家在閱讀源碼的時(shí)候有沒(méi)有這種感覺(jué):每次要看源碼的時(shí)候十分信誓旦旦逼迫自己努力看著源碼,但是還沒(méi)看多長(zhǎng)時(shí)間就會(huì)感覺(jué)枯燥,無(wú)味沒(méi)意思,所以我是十分不愿意去看源碼,但是今天福利來(lái)了,有位大神通過(guò)畫(huà)圖+視頻的方式把spring源碼、三級(jí)緩存、循環(huán)依賴(lài)等等問(wèn)題徹底講明白了,下面就和大家一起學(xué)習(xí)!

以下展示的圖、視頻以及源碼手冊(cè)都可以免費(fèi)獲取,免費(fèi)獲取方式在文末!

Spring架構(gòu)設(shè)計(jì):對(duì)象到底怎么創(chuàng)建

視頻

Spring執(zhí)行流程:

黃色區(qū)域:實(shí)例化加載區(qū)域

紅色區(qū)域:為run方法執(zhí)行區(qū)域

視頻

循環(huán)依賴(lài)

視頻

通過(guò)三級(jí)緩存來(lái)解決循環(huán)依賴(lài)的問(wèn)題

視頻

三級(jí)緩存讀取的順序是什么順序?

先從一級(jí)緩存獲取,取不到從二級(jí)緩存獲取,取不到從E級(jí)緩存獲取

正常情況下,我們應(yīng)該在for循環(huán)中創(chuàng)建所有xml文件中定義的bean對(duì)象,但是當(dāng)存在循環(huán)引用的時(shí)候,創(chuàng)建A對(duì)象的時(shí)候順帶手的把B對(duì)象創(chuàng)建,因此在創(chuàng)建B的時(shí)候直接從一級(jí)緩存中獲取即可,不需要重復(fù)創(chuàng)建B對(duì)象

通過(guò)源碼的debug,已經(jīng)了解了完整的流程:

1、一級(jí),二級(jí),三級(jí)緩存中分別存放什么狀態(tài)的對(duì)象?

一級(jí)緩存放完整對(duì)象,二級(jí)緩存放完成實(shí)例化但未初始化的對(duì)象,3級(jí)緩存放lambda表達(dá)式

2、為什么非要使用三級(jí)緩存,二級(jí)行不行,一級(jí)行不行?

一級(jí)緩存:

一級(jí)緩存中會(huì)放置完整對(duì)象或者非完整對(duì)象,如果在操作的時(shí)候恰巧獲取到非完整對(duì)象怎么辦?

二級(jí)緩存:

一級(jí)緩存放完整對(duì)象, 級(jí)緩存放非完整對(duì)象,在創(chuàng)建代理對(duì)象的時(shí)候,需不需要提前創(chuàng)建出屬性是默認(rèn)值的普通對(duì)象?

一定會(huì)創(chuàng)建出普通對(duì)象

當(dāng)需要?jiǎng)?chuàng)建代理對(duì)象的時(shí)候,需要執(zhí)行一個(gè)lambda表達(dá)式來(lái)創(chuàng)建代理類(lèi), 如果沒(méi)有三級(jí)緩存的話,就有可能有一種情況, 剛開(kāi)始先創(chuàng)建出普通對(duì)象,然后被調(diào)用了,后續(xù)又需要代理對(duì)象,此時(shí)生成了,那么最終使用的效果是有些使用普通對(duì)象有些使用代理對(duì)象

如果程序中不存在AOP的問(wèn)題,那么二級(jí)緩存足以解決循環(huán)依賴(lài)問(wèn)題

視頻

Spring監(jiān)聽(tīng)器十五步詳細(xì)執(zhí)行流程

視頻

熟練使用Spring

視頻

Bean的生命周期

視頻

springboot源碼閱讀

需要領(lǐng)取全部圖和視頻教程以及源碼手冊(cè)的朋友,麻煩幫忙點(diǎn)贊一下這篇文章+關(guān)注我,免費(fèi)在這篇文章最上邊的封面圖片中!

總結(jié)

以上是生活随笔為你收集整理的spring 三级缓存_通过画图+视频把循环依赖、监听器等等spring源码讲明白了的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。