原创 如何搭建Spring源碼的閱讀環境

緣起 最近在看Spring的源碼,筆者準備在CSDN寫一個專欄,用於記錄關於spring源碼閱讀過程中的心得和體會。 廢話補多少,看源碼之前首先是要搭建源碼的運行環境,搭建運行環境大概分爲以下幾步。 步驟 安裝git 安裝Gra

原创 談談關於spring源碼閱讀的方式

緣起 筆者在閱讀spring源碼的時候也是藉助了很多相關資料。如果你看過spring的話,你就會明白,spring的源碼不復雜,複雜的是spring的思想和設計模式,很多時候源碼看着看着,就不知道走到哪裏去了。spring中使用了

原创 談談mysql中事務的實現原理

緣起 你是否還記得,我們在spring中是如何使用聲明式事務的呢?沒錯,只需要如下一行簡單的代碼 @Transactional(value="transactionManager", rollbackFor = Exception

原创 Java代碼實現一致性Hash算法(這可能是java中最簡單的一致性Hash算法實現方式)

緣起 關於一致性hash算法的原理,本文不做概述。本文說的是如何在java中實現一致性Hash算法。 代碼 package com.bxoon.test; import java.util.*; /** * 一致性Hash

原创 Spring整體架構

緣起 在閱讀spring源碼之前,我們有必要先了解spring的整體架構,這對我們閱讀spring的源碼是很有幫助的,我們要先有大局觀,然後纔是深入。 整體架構 Spring框架是一個分層架構,它包含一系列功能要素,並被分爲大約2

原创 spring源碼解析專欄導航

目錄 如何搭建Spring源碼的閱讀環境 Spring的整體架構介紹 Spring是如何讀取xml中的bean配置並加入到IOC容器中的

原创 Java一致性Hash算法

緣起 關於一致性hash算法的原理,本文不做概述。本文說的是如何在java中實現一致性Hash算法。 代碼 package com.bxoon.test; import java.util.*; /** * 一致性Hash

原创 深入理解mysql中事務的實現原理

緣起 你是否還記得,我們在spring中是如何使用聲明式事務的呢?沒錯,只需要如下一行簡單的代碼 @Transactional(value="transactionManager", rollbackFor = Exception

原创 Docker入門

前言 關於什麼是docker,以及docker有什麼優勢等請自行百度,本文章假定你已經瞭解docker的基本概念 Docker安裝 https://blog.csdn.net/lin521lh/article/details/78

原创 搜索引擎核心理論思想

爲什麼需要搜索引擎 數據庫適合結構化數據的精確查詢,而不適合半結構化,非結構化數據的模糊查詢及靈活搜索(特別是數據量大時),無法提供想要的實時性。 結構化數據:用表、字段表示的數據 半結構化數據:XML HTML 非結構化數據:

原创 聊一次歷經4年才解決的問題,關於apache HttpClient的超時時間始終無法超過21秒的問題。

緣起 大約在四年前,筆者在工作中發現HttpClient的超時時間當你設置爲一個大於21秒的值得時候比如60秒,你會發現它依然是21秒。而當你設置爲一個小於21秒的時候比如5秒,你會發現超時時間就是5秒。詳細可以看原問題鏈接 ht

原创 JWT原理解析

什麼是JWT JSON Web Token(JWT),是一個開放安全的行業標準,用於多個系統之間傳遞安全可靠的信息. 爲什麼會有JWT 在很久很久以前…常見的訪問模式是這種的。 這個時候因爲用戶都是通過電腦上的瀏覽器訪問服務端,而由

原创 JSP頁面引入JS的時候關於路徑的問題

如何在JSP頁面引入一個JS或者CSS 以下所有的例子中的頁面我們設定爲a.jsp 方案一,錯誤的使用相對路徑或絕對路徑引入 相對路徑 <script type="text/javascript" src="js/doctor

原创 SpringCloud到底是什麼

什麼是微服務 在介紹Spring Cloud之前,讀者有必要了解一下什麼是微服務。而要了解什麼是微服務又要了解什麼時候SOA。關於什麼是SOA可以看筆者的這篇文章:https://blog.csdn.net/qq32933432/ar

原创 SpringBoot與SpringCloud的版本對應詳細版

緣起 初學spring cloud的朋友可能不知道,其實SpringBoot與SpringCloud需要版本對應,否則可能會造成很多意料之外的錯誤,比如eureka註冊了結果找不到服務類啊,比如某些jar導入不進來啊,等等這些錯誤。下