原创 100G的文件如何讀取 - 第306篇

相關歷史文章(閱讀本文之前,您可能需要先看下之前的系列👇) 國內最全的Spring Boot系列之三 精度不夠,滑動時間來湊「限流算法第二把法器:滑動時間窗口算法」- 第301篇 沒有預熱,不叫高併發「限流算法第三把法器:令牌桶算法」-

原创 費曼學習法爲什麼會如此有魅力

相關歷史文章(閱讀本文之前,您可能需要先看下之前的系列👇) 超實用的康奈爾筆記法 我的費曼學習法之路「世界上最好的學習法:費曼學習法」 微積分你記得多少?想了解費曼的進入   有個故事不知道你聽過沒有。 在一列開往北京方向的火車上,有

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:JVM運行情況預估 - 第39篇

用 jstat gc -pid 命令可以計算出如下一些關鍵數據,有了這些數據就可以採用之前介紹過的優化思路,先給自己的系統設置一些初始性的JVM參數,比如堆內存大小,年輕代大小,Eden和Survivor的比例,老年代的大小,大對象的閾值

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:jstat - 第38篇

一、說明 jstat命令可以查看堆內存各部分的使用量,以及加載類的數量。 命令的格式如下: jstat  [-命令選項]  [vmid]  [間隔時間(毫秒)]  [查詢次數] 注意:使用的jdk版本是jdk8.   二、垃圾回收統計 最

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:Jstack - 第37篇

查看線程 一、用jstack加進程id查找死鎖          用jstack加進程id查找死鎖,見如下示例DeadLockTest: public class DeadLockTest { private static Ob

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:GC日誌調優小實戰- 第41篇

GC日誌說明 對於java應用我們可以通過一些配置把程序運行過程中的gc日誌全部打印出來,然後分析gc日誌得到關鍵性指標,分析GC原因,調優JVM參數。 打印GC日誌方法,在JVM參數裏增加參數: -XX:+PrintGCDetails

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:jstat調優小實戰- 第40篇

一、準備工作          準備一個工程jvm-full-gc,核心代碼: @RestController public class IndexController { @RequestMapping("/user/pro

原创 JVM內存模型和性能調優:JVM調優工具詳解及調優實戰:Jmap - 第36篇

此命令可以用來查看內存信息。 一、實例個數以及佔用內存大小 命令:jmap -histo 91289 >  /data/tmp/log.txt 其中91289是進程ID,使用jps進行查看。 打開log.txt,文件內容如下(HeapTe

原创 JVM內存模型和性能調優:垃圾收集算法:每秒幾十萬併發的系統優化JVM - 第34篇

一、每秒幾十萬併發的系統優化JVM Kafka類似的支撐高併發消息系統大家肯定不陌生,對於Kafka來說,每秒處理幾萬甚至幾十萬消息時很正常的。 一般來說部署Kafka需要用大內存機器( 比如64G ),也就是說可以給年輕代分配個三四十G

原创 一分鐘get:緩存穿透、緩存擊穿、緩存雪崩 - 第304篇

  相關歷史文章(閱讀本文之前,您可能需要先看下之前的系列👇)   國內最全的Spring Boot系列之三 「世界上最好的學習法:費曼學習法」 高併發,不怕不怕「限流算法第一把法器:計數器法」 - 第300篇 精度不夠,滑動時間來湊「

原创 JVM內存模型和性能調優:垃圾收集算法:垃圾收集器(三) - 第33篇

五、G1收集器(-XX:+UseG1GC) 5.1 概念 G1 (Garbage-First)是一款面向服務器的垃圾收集器,主要針對配備多核處理器及大容量內存的機器. 以極高概率滿足GC停頓時間要求的同時,還具備高吞吐量性能特徵(面對大容

原创 JVM內存模型和性能調優:垃圾收集算法:垃圾收集器(二) - 第32篇

四、CMS收集器(-XX:+UseConcMarkSweepGC『old:只能用在老年代 』) CMS(Concurrent Mark Sweep)收集器是一種以獲取最短回收停頓時間爲目標的收集器。它非常符合在注重用戶體驗的應用上使用,它

原创 JVM內存模型和性能調優:垃圾收集算法:億級流量電商系統如何優化JVM參數 - 第35篇

億級流量電商系統如何優化JVM參數設置:ParNew+CMS 大型電商系統後端現在一般都是拆分爲多個子系統部署的,比如,商品系統,庫存系統,訂單系統,促銷系統,會員系統等等。 佔用字節表: 我們這裏以比較核心的訂單系統爲例:

原创 JVM內存模型和性能調優:垃圾收集算法:垃圾收集算法 - 第30篇

  一、標記-清除算法 算法分爲“標記”和“清除”階段:首先標記出所有需要回收的對象,在標記完成後統一回收所有被標記的對象。  

原创 JVM內存模型和性能調優:垃圾收集算法:如何判斷對象可以被回收(第二篇)- 第29篇

四、finalize()方法最終判定對象是否存活          即使在可達性分析算法中不可達的對象,也並非是“非死不可”的,這時候它們暫時處於“緩刑”階段,要真正宣告一個對象死亡,至少要經歷再次標記過程。 標記的前提是對象在進行可達性