原创 java虛擬機面試乾貨【叄】_JVM內存結構

上篇文章:java虛擬機面試乾貨【貳】_類的加載 本文說說JVM的內存結構,主要分爲6個區域: 程序計數器 可看做是當前線程執行的字節碼的行號指示器,字節碼解釋器就是通過改變這個計數器的值來獲取下一條需要執行的字節碼指令,完成分支

原创 JDK集合類源碼分析

本文總結一下JDK中集合類的實現。首先看下集合類的繼承圖: 可看出,接口主要有Collection和Map兩大主線,其中Collection又有List和Set兩個分支。List是一個有序的隊列,每一個元素都有它的索引;而Set是

原创 分佈式系統漫談【拾】_分佈式事務一致性:阿里方案

  上篇文章:分佈式系統漫談【玖】_分佈式事務一致性:協議支持   其實對於生產環境的分佈式事務一致,各大互聯網公司都是自己實現的解決方案,總結起來無非是異步、補償、實時查詢、定期校對幾種模式,大部分場景都是使用到消息中間件。下面介紹下阿

原创 分佈式系統漫談【拾貳】_分庫分錶帶來的問題和解決方案

  上篇文章:分佈式系統漫談【拾壹】_分佈式事務一致性:秒殺實現   本文來說說關於數據庫分庫分表。   分庫分表   當系統數據庫達到一定的量級,單數據庫實例已經無法支撐的時候,我們就要考慮採用分庫分表的策略了。如何理解這個名詞?其實分

原创 分佈式系統漫談【拾叄】_緩存帶來的問題和解決方案

  上篇文章:分佈式系統漫談【拾貳】_分庫分錶帶來的問題和解決方案   關於緩存,本博此前已經總結了分佈式緩存redis的原理及使用系列文章:     redis知識盤點【零】_redis常用命令   redis知識盤點【壹】_基礎知識

原创 java虛擬機面試乾貨【壹】_字節碼生成

今天開始總結一個新的系列,時間略緊簡單總結。先把一些概念性的東西梳理出來,詳細內容日後有機會再填充。爭取今天可以總結完。 本系列文章內容總結自許令波(君山)老師的《深入分析Java Web技術內幕(修訂版)》和周志明老師的《深入理解J

原创 JDK各版本I/O分析

全文總結於李林鋒老師的《Netty權威指南》,鏈接如下: Linux系統I/O的實現 Linux阻塞 linux非阻塞 Linux I/O複用 Linux提供select/poll,進程通過將一個或多個fd(fi

原创 java虛擬機面試乾貨【肆】_垃圾回收:判斷條件

上篇文章:java虛擬機面試乾貨【叄】_JVM內存結構 由上文我們可以大略總結出,在JVM中線程私有的變量是保存在棧上的,公共的對象保存在堆上,而靜態變量保存在堆空間中的方法區(PermGen)上。由於系統分配給JVM的內存空間也是有

原创 分佈式系統漫談【拾肆】_分佈式系統常用優化思路

  本文說說系統優化的常用手段吧,其中可能有一些內容在系列前面的文章裏已經總結過了,這裏還是再系統地整理出來,方便將知識彙總,有個整體上的認識。本文只講方法論,沒有具體實現。限於水平總結得可能不全,後面還會補充。   本文將系統主要分爲前

原创 java虛擬機面試乾貨【伍】_垃圾回收:回收算法

上篇文章:java虛擬機面試乾貨【肆】_垃圾回收:判斷條件 上篇文章我們分析了GC中對要回收對象的判斷條件,這篇文章我們說說GC回收算法。 標記-清除算法 即mark-sweep算法。通過兩個階段完成,一是標記階段,篩選出已經沒有

原创 瓷器的發展歷程和啓示

這個星期在讀吳軍老師的《文明之光》第一冊,在介紹瓷器的發展歷程一章裏略有感觸,將內容整理如下。 首先要區分兩個概念,即陶和瓷。雖然日常中我們常連在一起說,但實際上這是兩種不同的東西。陶器主要是使用粘土燒製(800度左右)而成,現多見於花盆

原创 redis知識盤點【捌】_redis新特性

這個月終於有了一些時間,看了幾本書。歸。繼續更新。這次還是先分享幾個redis之前沒寫的新特性。   HyperLogLog   2.8版本引入,可用於巨量去重統計,比如統計UV。有點是需要空間很小,只有12KB;缺點是平均會有0.81%

原创 說說zookeeper【肆】_應用場景

上篇文章:說說zookeeper【叄】_工作機制 在系列第一篇文章中,我們已經整理了zookeeper在分佈式應用中的使用場景: 可基於zookeeper實現數據發佈/訂閱、負載均衡、命名服務、分佈式協調/通知、集羣管理、maste

原创 說說zookeeper【伍】_參數與命令

上篇文章:說說zookeeper【肆】_應用場景 基本參數 高級參數 常用命令 conf 輸出zookeeper服務器運行的基本信息 cons 輸出當前服務器素有客戶端連接的詳細信息 crst 重置所有客戶端連接的

原创 mysql知識盤點【肆】_調優參數

本文內容整理自《Mysql運維內參》第26章,本書值得一看,即使是開發同學。鏈接如下: genera_log 建議在數據庫正常服務時,將這個參數設置爲關閉狀態,因爲它會記錄提到MysQL的一切東西,既浪費磁盤又影響效率。同時它又