原创 CMS垃圾收集器運行原理

目錄 概述 執行過程 初始標記initial mark 併發標記 concurrent mark 三色表示 遍歷算法 標記過程舉例 併發過程中變化的維護 併發預清理concurrent preclean 可中斷預清理concurrent

原创 springboot源碼解讀之配置從哪來

目錄 概述 配置初始化 本地配置文件加載 本地配置文件location 本地配置文件名字 本地配置文件後綴名 Profile對文件名的影響 Json配置解析 @PropertySource註解處理 總結 概述 用了一段時間springbo

原创 springboot源碼解讀之使用springcloud加載配置

目錄 前言 springcloud啓動與bootstrap文件加載 springcloud啓動 bootstrap文件加載 配置合併 自定義PropertySourceLocator實現任意配置加載 PropertySourceLocat

原创 springboot源碼解讀之RefreshScope動態刷新配置

目錄   scope原理 從容器中獲取scope bean 負責創建scope bean的ScopedProxyFactoryBean RefreshScope RefreshScope緩存清理 配置重新加載 scope原理 從容器中獲取

原创 springboot源碼解讀之內嵌tomcat的啓動

目錄 BeanDefinition註冊 創建配置Tomcat Tomcat基本組件配置 Context配置  TomcatStart中的initializer 啓動tomcat Service啓動 容器啓動 DefaultServlet懸

原创 springboot源碼解讀之@ConfigurationProperties原理

動態註冊 動態註冊要從BeanDefinition的讀取說起。ConfigurationClassParser從聲明瞭@Configuration註解的類中讀取BeanDefinition的時候,會解析出ImportBeanDefinit

原创 SpringMVC對HTTP報文體的處理

SpringMVC對HTTP報文體的處理    客戶端和服務端HTTP報文傳遞消息,而HTTP報文包含報文頭和報文體。通常,解析請求參數以及返回頁面都不需要我們關心HTTP報文體的讀取和生成過程。但在某些特定場景下需要直接到請求報文中讀取

原创 SpringMVC中自定義參數解析器及內置類型的綁定

SpringMVC中自定義參數解析器及內置類型的綁定       前一篇文章講述了使用標註方式進行參數綁定背後的參數解析原理,今天來整理一下沒有使用標註的參數是怎樣解析出來的。 一,自定義參數解析器   有的時候我們希望在Handler

原创 SpringIoC依賴注入的過程(四)

SpringIoC依賴注入的過程(四)       上文講了populateBean方法中處理自動注入的部分。自動注入雖然會減少配置的複雜度,但是每個bean之間的依賴關係不是很清晰,很難分辨出哪些屬性是注入的哪些是正常的屬性等等。在實

原创 SpringMVC中的HandlerAdapter

SpringMVC中的HandlerAdapter   還記得在DispatcherServlet中SpringMVC處理請求的邏輯嗎,網上有一個非常棒的圖,闡明瞭請求分發處理的整個過程。      映射處理器HandlerMappi

原创 Java中的自動拆裝箱

Java中的自動拆裝箱     Java語言中,基本類型和它對應的封裝類型直接可以相互複製,共同參與運算。其實,經過編譯後並不是直接使用不同的類型來進行賦值和運算,而是採用了自動拆裝箱的方式把數據類型進行了變化。自動拆裝箱只是JDK語法

原创 理解JVM的class文件結構

理解JVM的class文件結構         開發者將Java代碼寫在.java文件中,經過編譯器的編譯生成了class文件,原來在Java文件中定義的信息將轉存到class文件中。只有經過編譯後的class文件才能被虛擬機理解,JV

原创 SpringIoC依賴注入的過程(一)

SpringIoC依賴注入的過程(一)       對spring稍有些瞭解的人都知道,依賴注入的發生是在第一次向容器索要bean時觸發的。BeanFanctory爲我們提供了一系列的getBean接口,它的實現大部分都在Abstract

原创 SpringMVC中的HTTP跳轉

SpringMVC中的HTTP跳轉    項目開發中經常會碰到需要進行HTTP跳轉的場景,比如用戶請求一個需要登錄之後纔可以看到的頁面,而此時需要跳轉到登錄頁面,待登錄成功之後在跳轉會現在的頁面。那麼SpringMVC是怎樣實現這樣的跳轉

原创 SpringMVC中HandlerMethod的請求參數解析過程

SpringMVC中HandlerMethod的請求參數解析過程  SpringMVC中處理請求的方法叫做HandlerMethod,HandlerMethod可以通過多種方式聲明它的參數來源,同時對應着不同的解析過程。那麼,今天我們就來