原创 MySQL調優(八):查缺補漏(mysql的鎖機制,讀寫分離,執行計劃詳解,主從複製原理)

mysql的鎖機制 1、MySQL鎖的基本介紹 ​ 鎖是計算機協調多個進程或線程併發訪問某一資源的機制。在數據庫中,除傳統的 計算資源(如CPU、RAM、I/O等)的爭用以外,數據也是一種供許多用戶共享的資源。如何保證數據併發

原创 多線程與高併發(七):詳解線程池 - 自定義線程池,JDK自帶線程池,ForkJoin,源碼解析等

Executor 接口關係 Callable:類似於Runnable,但是可以有返回值 Future:存儲將來執行的結果。Callable被執行完之後的結果,被封裝到Future裏面。 Future 示例: /** * 認識

原创 MySQL調優(六):分區設計,分區優化案例

上節課沒講完的一個案例 優化 limit 分頁 在很多應用場景中我們需要將數據進行分頁,一般會使用limit加上偏移量的方法實現,同時加上合適的orderby 的子句,如果這種方式有索引的幫助,效率通常不錯,否則的化需要進行大量的

原创 Redis實戰(六):Redis的集羣:AKF,主從複製的概念引入,CAP,Sentinel 哨兵

單擊、單節點、單實例存在的問題 單點故障(物理機掛了,要等很久才能可用) 容量有限 壓力過大 解決方式 AKF 有XYZ三個軸,可以只發生一個,可以多個維度一起發生 X軸:Redis示例的副本,數據庫的副本…讀寫分離,增加備用

原创 JVM從入門到精通(七):GC常用參數,Method Area,JVM調優案例分析

GC常用參數 -Xmn -Xms -Xmx -Xss 年輕代 最小堆 最大堆 棧空間 -XX:+UseTLAB 使用TLAB,默認打開 -XX:+PrintTLAB 打印TLAB的使用情況 -XX:TLABSize 設置TLAB

原创 MySQL 行轉列的方法

建表 CREATE TABLE `score` ( `Id` int(11) NOT NULL AUTO_INCREMENT, `UserName` varchar(50) DEFAULT NULL, `Subject

原创 Redis實戰(七):redis的集羣:主從複製、CAP、PAXOS、cluster分片集羣 2

上節回顧 上一節我們講了AKF拆分原則,講了Redis主從複製的方式,是X軸方向的拓展,實現了HA,但是沒有解決單節點數據的容量有限問題。 如何解決單節點數據容量的問題 如果數據可以分類,交集不多,可以考慮按業務拆分 如果數據

原创 JVM從入門到精通(六):JVM調優必備理論知識 - 3種垃圾清除算法,常見的垃圾回收器

JVM調優是一層窗戶紙,只是看起來很難。學完本節課,讓你: 熟悉 GC 常用算法,熟悉常見垃圾回收器,具有實際 JVM 調優實戰經驗 What is garbage 什麼是垃圾?沒有引用指向的對象就是垃圾。 怎麼找到垃圾?

原创 響應式web(一):什麼是響應式web,異步調用,callback的本質,servlet3的異步

Reactive 同步與異步 傳統的web模型 “命令式編程”:阻塞式模型,一個請求發過來,也許你會開啓新的線程,但最後需要等待完成所有操作之後,才能返回response。 一個一個的操作組成了整個業務線,操作之間有先後順序。所

原创 JVM從入門到精通(八):JVM調優實戰

案例1:系統CPU經常100%,如何調優? 推理過程是:CPU100%,那麼一定有線程在佔用系統資源,所以 找出哪個進程cpu高(top命令) 該進程中的哪個線程cpu高(top -Hp) 如果是java程序,導出該線程的堆棧

原创 高併發負載均衡(一):網絡協議原理

引入 中國網絡上可以產生消費的活躍用戶約2.4億,互聯網人數較多,基礎人羣大 應該把錢花在哪裏?營銷上,而不是技術上。這樣你賺得更多。 案例比如,陌陌:CCTV廣告,營銷讓人們下載去使用這個軟件,你可以去百度買關鍵字排名,你可以去

原创 多線程與高併發(九):單機壓測工具JMH,單機最快MQ - Disruptor原理解析

單機壓測工具JMH JMH Java準測試工具套件 什麼是JMH 官網 http://openjdk.java.net/projects/code-tools/jmh/ 創建JMH測試 1.創建Maven項目,添加依賴 <?xm

原创 多線程與高併發(八):ThreadPoolExecutor源碼解析, SingleThreadPool,CachedPool,FixedThreadPool,ForkJoinPoll 等

線程池 今天我們來看看JDK給我們提供的默認的線程池的實現。 ThreadPoolExecutor:我們通常所說的線程池。多個線程共享同一個任務隊列。 SingleThreadPool CachedPool FixedThrea

原创 JVM從入門到精通(十):垃圾回收算法串講:CMS,G1,三色標記算法

CMS 併發回收,工作線程和GC線程同時進行,暫停時間短 老年代 分爲 四個階段: 初始標記:需要STW,因爲初始的垃圾並不多,因此耗費的時間不長 併發標記:垃圾回收線程和工作線程同時執行。一邊產生垃圾,一邊標記

原创 MySQL調優(七):滴滴一面二面題,服務器參數設置,redolog兩階段提交

某同學的滴滴一面二面 1、自我介紹不要念稿 2、對項目描述要準確,不要看起來不懂裝懂:態度問題。一些問題沒接觸過很正常。不要所有問題都搶着說,要展示態度。 服務器參數設置 thread_cache_size:服務器線程緩