牛逼的無鎖結(jié)構(gòu)
HikariCP源碼簡潔剖析——ConcurrentBag基于2.4版本 ConcurrentBag是什么[#concurrentbag%E6%98%AF%E4%BB%80%E4%B9%88] 源碼剖析[#%E6%BA%90%E7%...
牛逼的無鎖結(jié)構(gòu)
HikariCP源碼簡潔剖析——ConcurrentBag基于2.4版本 ConcurrentBag是什么[#concurrentbag%E6%98%AF%E4%BB%80%E4%B9%88] 源碼剖析[#%E6%BA%90%E7%...
基于2.4版本 ConcurrentBag是什么[#concurrentbag%E6%98%AF%E4%BB%80%E4%B9%88] 源碼剖析[#%E6%BA%90%E7%...
專門注冊了簡書賬號過來評論這篇文章。
文章總體寫的面面俱到,但是有沒有到深入到什么,給人的感覺是我看了,但是貌似很快又會忘掉。為啥?怎么破?
為啥?沒有抓住重點(diǎn)
怎么破?講核心
spring的核心工作原理就是利用反射機(jī)制,完成對象(bean)的注冊和實(shí)例化。所以這里的重點(diǎn)就是:
- 在哪里注冊對象定義?
- 如何注冊?
- 如何完后,咋用?(實(shí)例化bean)
搞清這兩個問題,對spring理解就會有更加宏觀的把握。
第一個問題,主要看createApplicationContext。該方法主要解決spring bean去哪里注冊問題,也就是解決容器問題。beanFactory是最頂級的容器抽象, DefaultListableBeanFactory是其具體的實(shí)現(xiàn)。
第二個問題, 主要看refreshContext。調(diào)用到的AbstractApplicationContext.refresh()里的invokeBeanFactoryPostProcessors(beanFactory)需要重點(diǎn)關(guān)注一下,因?yàn)樗饕瓿蓅pring 環(huán)境里包括我們代碼里定義的bean的定義的注冊
第三個問題,可以給AbstractBeanFactory.doGetBean打個斷點(diǎn),看一下bean的實(shí)例化是怎么弄的
最后,為了檢測自己的理解,寫幾個小demo,包括但不限于以下:
- 自定義的ApplicationListener
- 自定義的BeanFactoryPostProcessor
- 自定義的BeanPostProcessor
。。。
就這么多
寫在前面: 由于該系統(tǒng)是底層系統(tǒng),以微服務(wù)形式對外暴露dubbo服務(wù),所以本流程中SpringBoot不基于jetty或者tomcat等容器啟動方式發(fā)布服務(wù),而是以執(zhí)行...
說得挺好的
作為程序員,你為什么會有【技術(shù)不重要論】為什么上到老板,下到技術(shù)人員本身都會產(chǎn)生【技術(shù)不重要論】,比如在座的是不是都有(或者曾經(jīng)有)這些想法: “技術(shù)是不重要的(這才是私底下真實(shí)的想法,別看在公開場合說的是哈)”,...
為什么上到老板,下到技術(shù)人員本身都會產(chǎn)生【技術(shù)不重要論】,比如在座的是不是都有(或者曾經(jīng)有)這些想法: “技術(shù)是不重要的(這才是私底下真實(shí)的想法,別看在公開場合說的是哈)”,...
先hash 到特定的小文件總是這類大文件的通用解法之一
阿里算法面試題--兩個大文件中找出共同記錄1.題目 給定a、b兩個文件,各存放50億個url,每個url各占64字節(jié),內(nèi)存限制是4G,讓你找出a、b文件共同的url? 2.解題思路 1)首先我們最常想到的方法是讀取文...
內(nèi)容有點(diǎn)東西,有點(diǎn)多呀
2020 Java后端面試總結(jié)面試情況 經(jīng)歷了8次阿里技術(shù)面試第一個部門 1 ,2,3面過,HR面過,offer流程中第二個部門 1面過 2面表現(xiàn)不好掛了 重新安排的2面過了 等3面的流程中鎖P6HC...
寫得不錯
圖解LinkedHashMap原理1 前言 LinkedHashMap繼承于HashMap,如果對HashMap原理還不清楚的同學(xué),請先看上一篇:圖解HashMap原理 2 LinkedHashMap使用與...
寫得不錯,就是因?yàn)橛心阍诩夹g(shù)杠的人,才能看到接口上能不能上注解的解釋
(原創(chuàng))spring aop無法攔截接口上的注解目錄 問題背景 問題現(xiàn)場(aop代碼) 源碼 初步解決方案重寫事務(wù)攔截器設(shè)置攔截器 通用解決方案(自定義的方法攔截器)demo 乞丐版Pro版注意細(xì)節(jié) 問題背景 最近在spr...
目錄 問題背景 問題現(xiàn)場(aop代碼) 源碼 初步解決方案重寫事務(wù)攔截器設(shè)置攔截器 通用解決方案(自定義的方法攔截器)demo 乞丐版Pro版注意細(xì)節(jié) 問題背景 最近在spr...
說的很好,一般云主機(jī)廠商,會去做流量限制嗎,假如選了共享帶寬,我這邊提供了一些大文件的下載服務(wù),是不是理論上來說,能占用比較多的共享帶寬的資源,相比獨(dú)享帶寬要實(shí)惠不少
網(wǎng)卡流量和帶寬帶寬 帶寬是決定主機(jī)訪問速度的重要因素之一,尤其是對于訪問量大的網(wǎng)站,網(wǎng)絡(luò)帶寬的大小顯得尤為重要。而流量其實(shí)就是帶寬在時間上的積累,用數(shù)學(xué)上的話說就是帶寬對時間的積分。做個通...
帶寬 帶寬是決定主機(jī)訪問速度的重要因素之一,尤其是對于訪問量大的網(wǎng)站,網(wǎng)絡(luò)帶寬的大小顯得尤為重要。而流量其實(shí)就是帶寬在時間上的積累,用數(shù)學(xué)上的話說就是帶寬對時間的積分。做個通...
說明 在明確了ES的基本概念和使用方法后,我們來學(xué)習(xí)如何使用ES的Java API.本文假設(shè)你已經(jīng)對ES的基本概念已經(jīng)有了一個比較全面的認(rèn)識。 客戶端 你可以用Java客戶端...
ZooKeeper是Hadoop Ecosystem中非常重要的組件,它的主要功能是為分布式系統(tǒng)提供一致性協(xié)調(diào)(Coordination)服務(wù),與之對應(yīng)的Google的類似服...