原创 面試官:HashMap瞭解嗎?回答balabala。那你講講紅黑樹吧!

目錄1. 二叉樹基本概念1.1 什麼是樹(Tree)?1.2 什麼是二叉樹(Binary Tree)?1.3 二叉樹的存儲1.4 二叉樹的遍歷2. 二叉查找樹2.1 二叉查找樹的查找操作2.2 二叉查找樹的插入操作2.3 二叉查找

原创 SpringCloud之Zuul:微服務系統架構網關

目錄   1. 什麼是Zuul? 2. Zuul深入剖析 2.1 過濾器 2.2 源碼理解 3. Zuul應用場景 3.1 Zuul如何實現路由轉發? 3.2 Zuul如何實現限流熔斷? 3.3 Zuul如何進行壓力測試 4. Zuul2

原创 面試官,請不要再問我 Redis 的淘汰策略了!

目錄第一種策略 noeviction第二種策略 volatile-lru第三種策略 volatile-lfu第四種策略 volatile-ttl第五種策略 volatile-random第六種策略 allkey-lru第七種策略

原创 網絡IO模型:如何解決高併發下IO瓶頸?(一)

目錄 阻塞式IO(Blocking IO) 非阻塞式IO(Non-Blocking IO) IO多路複用(IO multiplexing) 信號驅動式IO(SIGIO) 異步IO(Asynchronous IO)   在我們日常工作當中,

原创 關於寫博客的幾點思考

很早就有這麼一個想法了,只是迫於肚子裏沒貨一直沒實現。但是現在,我覺得應該開始進行這麼一項記錄了。 博客初衷 做爲一個 IT 人,知識從輸入到出纔是一個完整的過程,這2年我一直是這麼想的。最近1年,由於學習了幾個極客專欄後,很多次都有一個

原创 Netflix Zuul學習筆記

目錄   1. 什麼是Zuul? 2. Zuul深入剖析 2.1 過濾器 2.2 源碼理解 3. Zuul應用場景 3.1 Zuul如何實現路由轉發? 3.2 Zuul如何實現限流熔斷? 3.3 Zuul如何進行壓力測試 4. Zuul2

原创 你知道HTTP協議的ETag是幹什麼的嗎?

前言 在HTTP1.1規範中,新增了一個HTTP頭信息:ETag。對於普通開發者來說,可能平時真的不會接觸到該HTTP頭。平時接觸不到或者說用得少,不代表這個請求頭不重要。ETag使用得當,是可以減少服務器帶寬壓力的。 什麼是ETag?

原创 搭建Ubuntu虛擬機

背景 日常工作中,在測試feature環境時,本機無法進行其他開發工作,影響工作效率。因此搭建一套虛擬機環境,解決該類問題,同時也考慮到後面進行技術分享,需要用到linux環境,所以搭建了ubuntu桌面版操作系統。 本文檔所提到的安裝包

原创 Gitlab ssh問題

問題描述: Please make sure you have the correct access rights and the repository exists.   找到現有的SSH密鑰對 在生成新的SSH密鑰對之前,通過打開sh

原创 排序算法之堆排序

在介紹堆排序算法之前,首先要有以下幾點預備知識: 1. 堆是具有以下性質的完全二叉樹:每個節點的值都大於其左右子節點的值,稱爲大頂堆;每個節點的值都小於其左右子節點的值,稱爲小頂堆。如下圖所示: 2. 大頂堆的性質可以表示爲:array

原创 Java之HashMap

HashMap也是我們使用非常多的Collection,它是基於哈希表的 Map 接口的實現,以key-value的形式存在。在HashMap中,key-value總是會當做一個整體來處理,系統會根據hash算法來來計算key-value

原创 Cypher語句樣例

增插入節點。插入一個Person類別的節點,且這個節點有一個屬性name,屬性值爲AndresCREATE(n:Person { name : 'Andres'}); 插入邊。插入一條a到b的有向邊,且邊的類別爲FollowMATCH(a

原创 排序算法之快速排序

快速排序是C.R.A.Hoare於1962年提出的一種劃分交換排序。它採用了一種分治的策略,通常稱其爲分治法(Divide-and-ConquerMethod)。快速排序由於排序效率在同爲O(N*logN)的幾種排序方法中效率較高,因此經