原创 Redis主從複製核心機制

本文將分享關於redis主從複製的實現原理。主從複製在操作上很簡單, 但大家未必瞭解它的底層實現,下面就分享一下redis是如何實現主從 複製的。 引言 主從複製有兩種方式,分別爲同步和命令傳播。在從服務器上通過命令slave

原创 面試大廠必讀、小廠吊打面試官必讀書籍推薦

通過我多年在互聯網公司摸爬滾打,以及近三年一直擔任公司技術面試管經歷,本文結合我的工作經歷,分享給衆多從事以及將要從事java後端軟件開發的程序員們推薦一些必讀書籍,但並不只限於技術類書籍。 深入理解Java虛擬機 相信這

原创 高併發之JUC——關於Doug Lea公平鎖與非公平鎖設計思想與源碼全面解析

在上兩篇關於《高併發之JUC——AQS源碼深度分析(一)》、《高併發之JUC——AQS源碼深度分析,有你不得而知的條件等待隊列(二)》文中介紹了Doug Lea設計的JUC高併發工具類AQS的設計思想及源碼分析,同時也說明了A

原创 萬字博文,Spring系列之抽絲剝繭Spring源碼(一)

當5G來臨,當211高校已經開啓人工智能課程,當甲骨文大批量裁員,大家的心是否像我一樣爲之一顫呢?當科技不斷髮展,技術迅速迭代,程序員愈發年輕化的今天,而作爲我們已經步入中年的程序員來說路在何方?當我們逐漸老去,我們不能指望企業

原创 高併發之JUC——AQS源碼深度分析,有你不得而知的條件等待隊列(二)

上一篇分析了關於AQS獨佔鎖的執行流程和源碼。在AQS中不僅涉及了獨佔鎖,還涉及了共享鎖及帶超時時間的共享鎖、中斷共享鎖。本文就講解上述鎖的獲取鎖和釋放鎖的原理。 AQS獲取共享鎖acquireShared 共享鎖,顧名思義就

原创 高併發之JUC——AQS源碼深度分析(一)

不要只滿足於目前的安逸,傻傻的在工作中寫CRUD了。因爲在目前疫情面前,企業依然朝不保夕。我們不能溫水煮青蛙,只有時刻保持一顆學習的心,擁有硬核能力,時刻心如止水,才能立於不敗之地。 這是高併發JUC的系列的第一篇。Abstr

原创 java成神之路學習線路

自己總結了下java後端學習線路,也是我八年的工作學習積累,供各位同學參考。線路圖還不全,之後我會逐漸補全。下面思維導圖中的技術,我爭取在2020年的博文中都分享給大家,形成一個系統性的知識體系。有興趣的同學不要吝嗇關注、分享、

原创 Redis集羣從搭建到設計,總有一些你不曾瞭解的東西

Redis集羣是Redis服務器高可用的設計模型,也是我們線上應用最多的Redis部署架構。本文主要針對Redis集 羣入門搭建、Redis集羣節點及其底層數據結構、hash槽、重新分片、消息等核心操作及原理進行分享。本文是基於

原创 Redis主從複製機制

本文將分享關於redis主從複製的實現原理。主從複製在操作上很簡單, 但大家未必瞭解它的底層實現,下面就分享一下redis是如何實現主從 複製的。 引言 主從複製有兩種方式,分別爲同步和命令傳播。在從服務器上通過命令slave

原创 linux內核原理剖析——磁盤尋址、分區

繼上一篇<<linux內核原理剖析——內存尋址(一)>>之後,發現大家 對底層技術關注度比較高之後,今天繼上一篇的內存尋址一文後,補 充一篇關於更爲底層的——磁盤尋址,讓我們更清楚的瞭解計算機在 硬盤上是如何尋址的。 磁盤模型

原创 從kernel層面分析synchronized、volatile,進大廠必備硬核小伎倆(下)

上兩篇文章中主要講解了synchronized和volatile關鍵字涉及的底層設計及相關概念,同時也包括了synchronized鎖升級過程。本文中將重點講解volatile的底層實現及DCL單例是否需要加volatile修飾。

原创 從kernel層面分析synchronized、volatile,進大廠必備硬核小伎倆(上)

synchronized、volatile對於java程序員來說再熟悉不過了,但 是你知道這兩個關鍵字底層是如何實現的嗎(甚至在操作系層面是 通過什麼指令來實現的)?以及與其相關的術語:諸如用戶態與內核 態、cas、鎖升級、內存

原创 Redis持久化內幕

路漫漫其修遠兮,吾將上下而求索。不求盡善盡美,只求將多年積累分享給大家...... Redis是內存數據庫,那麼肯定需要將數據持久化到磁盤,那麼redis是如何做的呢?答案是採用RDB(redis database)和AOF(a