原创 一文搞懂 JVM 架構和運行時數據區 (內存區域)

前言 瞭解 JVM 是對 Java 開發人員的基本要求,JVM 的相關內容自然也成了現在 Java 程序員面試的重要考點。不過估計很多小夥伴和我一樣,長時間醉心於 CRUD,卻忘了去了解一下更底層、更基礎的東西,殊不知這些纔是決定你能在這條

原创 Sentinel:萬字詳解微服務的哨兵機制,我跪了

1. Sentinel 是什麼? 隨着微服務的流行,服務和服務之間的穩定性變得越來越重要。Sentinel 以流量爲切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。 Sentinel 具有以下特徵: 豐富的應用場景:

原创 高併發場景下緩存+數據庫雙寫不一致問題分析與解決方案設計

Redis是企業級系統高併發、高可用架構中非常重要的一個環節。Redis主要解決了關係型數據庫併發量低的問題,有助於緩解關係型數據庫在高併發場景下的壓力,提高系統的吞吐量(具體Redis是如何提高系統的性能、吞吐量,後面會專門講)。 而我們

原创 深究遞歸和迭代的區別、優缺點及實例對比

1.迭代是人,遞歸是神! 從“編程之美”的角度看,可以借用一句非常經典的話:“迭代是人,遞歸是神!”來從宏觀上對二者進行把握。 從概念上講,遞歸就是指程序調用自身的編程思想,即一個函數調用本身;迭代是利用已知的變量值,根據遞推公式不斷演進得

原创 深究遞歸和迭代的區別、優缺點及實例對比

1.迭代是人,遞歸是神! 從“編程之美”的角度看,可以借用一句非常經典的話:“迭代是人,遞歸是神!”來從宏觀上對二者進行把握。 從概念上講,遞歸就是指程序調用自身的編程思想,即一個函數調用本身;迭代是利用已知的變量值,根據遞推公式不斷演進得

原创 SpringBoot如何優雅的使用RocketMQ

MQ,是一種跨進程的通信機制,用於上下游傳遞消息。在傳統的互聯網架構中通常使用MQ來對上下游來做解耦合。 舉例:當A系統對B系統進行消息通訊,如A系統發佈一條系統公告,B系統可以訂閱該頻道進行系統公告同步,整個過程中A系統並不關係B系統會不

原创 面試官最喜歡問的CAS還不會?怎麼和他吹牛?!一文帶你搞懂CAS

後端開發中大家肯定遇到過實現一個線程安全的計數器這種需求,根據經驗你應該知道我們要在多線程中實現 共享變量 的原子性和可見性問題,於是鎖成爲一個不可避免的話題,今天我們討論的是與之對應的無鎖 CAS。本文會從怎麼來的、是什麼、怎麼用、原理分

原创 吃透了這些JVM核心知識點,阿里架構師都問不倒你!(附學習筆記+面試真題+視頻解析)

作爲 Java 的從業者,在找工作的時候,一定會被問及關於 JVM 相關的知識。 JVM 知識的掌握程度,在很多面試官眼裏是候選人技術深度的一個重要評判標準。而大多數人可能沒有對 JVM 的實際開發和使用經驗,接下來這一系列文章將帶你深入瞭

原创 2019年終鉅獻:一份拿下了阿里、網易、滴滴等大廠offer的學習筆記

2019僅剩最後二十天,回顧今年初遇“寒冬”時,自己也挺慌的,但是經歷過這麼多次面試後,我才“醒悟”,所謂的“寒冬”,“凍死”的都是“衣服穿的少的”。 年末了在這裏做一個年度總結,今年面試了不少的大廠(其實就是想體驗一下各大廠的技術深度,看

原创 Redis掃盲:淺談Redis面試必問——工程架構篇

前言 接下來我們來一起研究下Redis工程架構相關的問題,這部分內容出現的概率相對大一些,因爲並不是所有人都會去研究源碼,如果面試一味問源碼那麼可能註定是一場尬聊。 面試時在不要求候選人對Redis非常熟練的前提下,工程問題將是不二之選。

原创 大廠面試必知必會:圖解分佈式事務實現原理

問題場景 什麼是事務? 事務是數據庫從一個穩定狀態變遷到另一個穩定狀態的保證,具備 ACID 這 4 個特性: 原子性(Atomicity):一個事務中的所有操作,要麼全部完成,要麼全部不完成,不會結束在中間某個環節。事務在執

原创 一文帶你深入瞭解 redis 複製技術及主從架構

主從架構可以說是互聯網必備的架構了,第一是爲了保證服務的高可用,第二是爲了實現讀寫分離,你可能熟悉我們常用的 MySQL 數據庫的主從架構,對於我們 redis 來說也不意外,redis 數據庫也有各種各樣的主從架構方式,在主從架構中會涉及

原创 什麼是ZooKeeper?

想入門一下Kafka的(裝一下環境、看看Kafka一些概念啥的)。後來發現Kafka用到了ZooKeeper,而我又對ZooKeeper不瞭解,所以想先來學學什麼是ZooKeeper,再去看看什麼是Kafka。 ZooKeeper相信大家已

原创 MySQL:迄今爲止講解的最詳細的一篇,掌握數據庫其實很容易

關於程序員,除了做項目、看視頻來提高自身的技術之外,還有一種提升自己的專業技能就是:多!看!書!MySQL儼然已經成爲了IT技術人員必須掌握的核心技能之一! 《MySQL從入門到精通》 本書詳細介紹瞭如何安裝、管理、備份、維護和優化一個 M

原创 你需要知道的RoketMQ

1.概述 本篇文章會盡力全面的介紹RocketMQ和Kafka各個關鍵點的比較,希望大家讀完能有所收穫。 RocketMQ前身叫做MetaQ, 在MeataQ發佈3.0版本的時候改名爲RocketMQ,其本質上的設計思路和Kafka類似,但