原创 MYSQL鎖學習筆記

前言 MYSQL是在大小公司中使用率極高的開源的關係型數據庫,以其良好的易用性和在分佈式場景下的高性能而著稱,也是所有新手在數據庫入門時的產品首選。最近因爲聽了公司的一位師兄關於MYSQL InnoDB鎖的講座,收穫很多,所以將M

原创 MySQL 的覆蓋索引與回表

兩大類索引 使用的存儲引擎:MySQL5.7 InnoDB 聚簇索引 如果表設置了主鍵,則主鍵就是聚簇索引 如果表沒有主鍵,則會默認第一個NOT NULL,且唯一(UNIQUE)的列作爲聚簇索引 以上都沒有,則會默認創建一

原创 硬核乾貨:一位菜鳥碼農的架構師“封神”之路!

不久前,高級架構師 Justin Miller 在 GitHub 上創建項目,介紹自己關於如何成爲更好的軟件架構師的想法。該項目發佈一天即獲得 1.4K star,現在已有近 5K star 量。 幾年前有人問我:你是怎麼成爲一

原创 淺談Java網絡編程——非阻塞I/O

文件描述符(descriptors) Unix中I/O的基本組成元素是字節序列。大多數程序應用於字節流或I/O流。 進程通過描述符引用I/O流,也被稱作文件描述符。管道、文件、POSIX IPC’s(消息隊列,信號量,共享內存),

原创 看完就理解Spring中的IOC和AOP兩大特徵

一、spring 的優點? 1.降低了組件之間的耦合性 ,實現了軟件各層之間的解耦 2.可以使用容易提供的衆多服務,如事務管理,消息服務等 3.容器提供單例模式支持 4.容器提供了AOP技術,利用它很容易實現如權限攔截,運行期監控

原创 轉行當程序員,有多難呢?

有些人會輕鬆上岸。 有些人會掙扎着上岸。 有些人會淹死在水裏。 我屬於掙扎着上岸的。 從我一個轉行朋友的視角來講述這個故事 2017年毅然決然的從鐵路局辭職,報班培訓Java。 在培訓之前並不是一點基礎都沒有,因爲在大學的時候C語

原创 一文教你如何用Redis構建高性能鎖

前言 在這裏粗略的說一下,zk鎖性能比redis低的原因:zk中的角色分爲leader,flower,每次寫請求只能請求leader,leader會把寫請求廣播到所有flower,如果flower都成功纔會提交給leader,其實

原创 JAVA 8與JAVA 11到底該怎麼選?

很多初學Java的小夥伴經常諮詢: 到底該安裝哪個版本的JDK比較好? Java 8到底還夠不夠用? Java 11究竟有什麼改進? 是不是Java版本越新越好? …… 是這樣,官網現在其實都已經出到Java 13版本了,並且

原创 面試中必問的jvm與性能優化

1. 描述一下 JVM 加載 Class 文件的原理機制? 在面試java工程師的時候,這道題經常被問到,故需特別注意。 Java中的所有類,都需要由類加載器裝載到JVM中才能運行。類加載器本身也是一個類,而它的工作就是把clas

原创 微服務爲什麼一定要選spring cloud?

現如今微服務架構十分流行,而採用微服務構建系統也會帶來更清晰的業務劃分和可擴展性。同時,支持微服務的技術棧也是多種多樣的,本系列文章主要介紹這些技術中的翹楚——Spring Cloud。這是序篇,主要講述我們爲什麼選擇Spring Clo

原创 2020別再說你瞭解數據庫了,你搞清楚這些問題了嗎?

程序員中一直有一個段子廣爲流傳:大不了我們“刪庫跑路” 由此可見作爲一個程序員,不瞭解數據庫怎麼能行,那麼數據庫到底是個啥呢,作爲一個Java工程師,平時和數據庫打交道着實不少,所謂的CRUD其實就是對數據庫進行增刪改查的操作。

原创 基於Redis實現分佈式鎖之前,這些坑你一定得知道

開頭 基於Redis的分佈式鎖對大家來說並不陌生,可是你的分佈式鎖有失敗的時候嗎?在失敗的時候可曾懷疑過你在用的分佈式鎖真的靠譜嗎?以下是結合自己的踩坑經驗總結的一些經驗之談。 你真的需要分佈式鎖嗎? 用到分佈式鎖說明遇到了多個進

原创 從 SQL 到 MongoDB快速上手篇

前言 很多開發者首次接觸數據庫(通常是在高校課堂)的概念,或者說接觸第一個數據庫,通常是 SQL 數據庫,而現在,NoSQL 數據庫後來居上,很多原 SQL 數據的使用者難免有轉向 NoSQL 的需求。而作爲 NoSQL 數據庫的

原创 實現一個二叉搜索樹(JavaScript 版)

二叉樹在計算機科學中應用很廣泛,學習它有助於讓我們寫出高效的插入、刪除、搜索節點算法。二叉樹的節點定義:一個節點最多隻有兩個節點,分別爲左側節點、右側節點。 二叉搜索樹是二叉樹中的一種,在二叉搜索樹中每個父節點的鍵值要大於左邊子節

原创 面試題:你真的熟悉MySQL數據庫以及索引嗎?

以下這個面試場景,不知道大家熟悉不熟悉: 面試官:數據庫有幾千萬的數據,查詢又很慢我們怎麼辦? 面試者:加索引。 面試官:那索引有哪些數據類型?索引是怎麼樣的一種結構?哪些字段又適合索引呢?B+的優點?聚合索引和非聚合