原创 通過手擼線程池深入理解其原理(上)

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 摘要:源碼這東西看着能似懂非懂,有些地方你不知道人家爲什麼這麼設計,過後在想可能又忘了,很沒有效率。所以我推薦的學習順序是看書->看源碼->造輪

原创 插入、快排、堆排、歸併、計數和桶排序詳解以及測試

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 代碼 核心思想 測試結果 總結 一、代碼 package com.example.sort; import java.util.A

原创 spring單例引起的線程安全問題

一、spring單例與多例定義 單例:一個類只能產生一個對象(對應到spring中,注入的對象永遠是同一個) 多例:一個類能產生多個對象(對應到spring中,注入的對象永遠是新的) @Scope("prototype") @Sc

原创 【從零搭建後端基礎設施系列(十)】-- 服務發現與治理(中)

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 沒有看過上篇的點這裏【從零搭建後端基礎設施系列(十)】-- 服務發現與治理(上) CODE RegistCenter -> master

原创 【細品springboot源碼】徹底弄懂spring bean的創建過程(上)

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 如果你覺得對bean的創建非常熟悉了,那麼可以看一下實戰篇【追根究底】 爲什麼@Transactional註解失效了?、【追根究底】@Lazy註

原创 【細品springboot源碼】徹底弄懂spring bean的創建過程(下)

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 接着上一篇【細品springboot源碼】徹底弄懂spring bean的創建過程(上),說到了doCreateBean這個方法,開始創建bea

原创 【從零搭建後端基礎設施系列(十)】-- 服務發現與治理(上)

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 什麼是服務發現? 服務發現是指使用一個註冊中心來記錄分佈式系統中的全部服務的信息,以便其他服務能夠快速的找到這些已註冊的服務。 ----

原创 【從零搭建後端基礎設施系列(九)】-- VM容器化

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 旁白:今天老大拉小黑他們開會,就公司目前機器資源緊缺進行了討論…… 老大:自從咱公司開始推行微服務化後,機器需求扶搖而上,爆發性增長啊!原來只需

原创 【追根究底】使用@Lazy註解爲什麼會產生兩層代理?

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 CASE A@Component public class A { @Lazy @Autowired B b;

原创 【追根究底】 爲什麼@Transactional註解失效了?

==> 學習彙總(持續更新) ==> 從零搭建後端基礎設施系列(一)-- 背景介紹 前言:這一篇文章通過分析根源,基本可以解決所有事務失效的情況了,但是因爲spring掌握的有限,所以寫的時候可能會有些地方描述得不是很好!大家可

原创 帶你搞懂Thrift核心源碼(JAVA)

注:本篇文章適合使用過thrift,但不識廬山真面目的人閱讀 本篇文章主要目的是瞭解thrift的全貌。讀完文章你將收穫以下幾點 Thrift到底是個什麼東西? Thrift在項目中充當的角色? Thrift的架構設計? Thr

原创 1024快樂!

請注意,請注意,這是一篇水文,哈哈哈 15年12月一個突發奇想,腦子一熱,就開始在CSDN上寫博客,這一寫,就堅持了4年。感慨呀感慨呀,趁今天,稍稍審視一下自己爲何寫博客,都收穫了什麼。 寫博客不是爲了寫而寫,每寫一篇博客,我

原创 深入淺出JAVA BIO、NIO和AIO(附詳細代碼實例)

1.深入淺出之BIO 1.1 簡單代碼示例 1.2 BIO相關概念 1.3 一張圖理解BIO 1.4 Q&A 2.深入淺出之NIO 2.1 簡單代碼示例 2.2 NIO相關概念 2.3 一張圖理解NIO

原创 從零開發一個後端服務(八)-- 自動化部署服務

==> 從零開發一個後端服務(一)–背景介紹 首先,說一下大概的思路 在服務器上部署服務的時候,是不是用的本地打包好的jar包呢?答案是的,所以這種就是手動部署的方式,特別的繁瑣。那麼如何能在服務器上完成這一步呢? 得先拿到代碼

原创 從零開發一個後端服務(七)-- 第一部分小結

==> 從零開發一個後端服務(一)–背景介紹 一、搭建一個最簡易的微服務流程 搭建一個thrift服務 搭建一個web服務(如果不需要和前端打交道,這個服務可省去) 搭建兩臺linux機器 二、提出問題 能否對thrift進