原创 搞清楚這 10 幾個後端面試問題,工作穩了!

面試過程是一個由淺入深的過程,面試官先給求職者拋出一個相對簡單的問題,然後通過一環套一環的追問深入考察求職者對知識點的理解掌握程度。 如下是一個實際的關於redis知識點的面試場景: 面試官:你用過redis嗎? 你:用過 面試官:你知道

原创 架構師之路 - 業務領域建模

領域模型的概念及作用 領域模型是對領域內的概念類或現實世界中對象的可視化表示。又稱概念模型、領域對象模型、分析對象模型。它專注於分析問題領域本身,發掘重要的業務領域概念,並建立業務領域概念之間的關係。概念比較深奧,其實說白了就是我們把基於對

原创 SpringBoot開發祕籍 - 集成Graphql Query

概述 REST作爲一種現代網絡應用非常流行的軟件架構風格受到廣大WEB開發者的喜愛,在目前軟件架構設計模式中隨處可見REST的身影,但是隨着REST的流行與發展,它的一個最大的缺點開始暴露出來: 在很多時候客戶端需要的數據往往在不同的地方

原创 架構設計方法論

本系列文章教你怎麼樣成爲一名架構師,本篇文章目的是讓你掌握一套架構方法論,掌握規範的設計方法,設計出更好、更穩定的架構設計。 概念解析 在文章開始之前需要先理解幾個概念: 什麼是方法論? 我們拿到一個輸入,然後根據這個輸入預期一個輸出,把

原创 面試被吊打系列 - Redis原理

小張興沖沖去面試,結果被面試官吊打! 小張: 面試官,你好。我是來參加面試的。 面試官: 你好,小張。我看了你的簡歷,熟練掌握Redis,那麼我就隨便問你幾個Redis相關的問題吧。首先我的問題是,Redis是單線程還是多線程呢? 小張

原创 最全的SpringCloud Alibaba系列教程

最齊全的SpringCloud Alibaba系列教程 鏈接地址

原创 線程之間通信 等待(wait)和通知(notify)

線程通信概念:     線程是操作系統中獨立的個體,但這些個體如果不經過特殊的處理就不能成爲一個整體,線程之間的通信就成爲整體的必用方式之一。當線程存在通信指揮,系統間的交互性會更強大,在提高CPU利用率的同時還會對線程任務在處理過程中進

原创 JAVA線程池調優

    在JAVA中,線程可以使用定製的代碼來管理,應用也可以利用線程池。在使用線程池時,有一個因素非常關鍵:調節線程池的大小對獲得最好的性能至關重要。線程池的性能會隨線程池大小這一基本選擇而有所不同,在某些條件下,線程池過大對性能也有很多

原创 使用p6spy格式化日誌輸出

  P6Spy 是針對數據庫訪問操作的動態監測框架(爲開源項目,項目首 頁:www.p6spy.com)它使得數據庫數據可無縫截取和操縱,而不必對現有應用程序的代碼作任何修改。P6Spy 分發包包括P6Log,它是一 個可記錄任何 Java

原创 微服務中使用Maven BOM來管理你的版本依賴

BOM簡介 BOM(Bill of Materials)是由Maven提供的功能,它通過定義一整套相互兼容的jar包版本集合,使用時只需要依賴該BOM文件,即可放心的使用需要的依賴jar包,且無需再指定版本號。BOM的維護方負責版本升級,

原创 SpringCloud Alibaba微服務實戰二 - 服務註冊

導讀:在之前一篇文章中我們準備好了基於SpringCloud Alibaba的基礎組件,本期主要內容是將所有的服務註冊進 Nacos,並讓account-service和product-service能對外提供基礎的增刪改查能力。 基礎框

原创 SpringCloud Alibaba微服務實戰一 - 基礎環境準備

Springcloud Aibaba現在這麼火,我一直想寫個基於Springcloud Alibaba一步一步構建微服務架構的系列博客,終於下定決心從今天開始本系列文章的第一篇 - 基礎環境準備。 該系列文章內容主要基於三個微服務:用戶服

原创 併發策略-CAS算法

對於併發控制而言,我們平時用的鎖(synchronized,Lock)是一種悲觀的策略。它總是假設每一次臨界區操作會產生衝突,因此,必須對每次操作都小心翼翼。如果多個線程同時訪問臨界區資源,就寧可犧牲性能讓線程進行等待,所以鎖會阻塞線程執

原创 SpringCloud Alibaba微服務實戰 - 基礎環境準備

Springcloud Aibaba現在這麼火,我一直想寫個基於Springcloud Alibaba一步一步構建微服務架構的系列博客,終於下定決心從今天開始本系列文章的第一篇 - 基礎環境準備。 該系列文章內容主要基於三個微服務:用戶服

原创 Docker-Compose基礎與實戰,看這一篇就夠了

what & why Compose 項目是 Docker 官方的開源項目,負責實現對 Docker 容器集羣的快速編排。使用前面介紹的Dockerfile我們很容易定義一個單獨的應用容器。然而在日常開發工作中,經常會碰到需要多個容器相互