原创 三步排查JVM cpu 100%問題

文章目錄詳細步驟1. 定位哪個服務導致的cpu滿載2. 定位哪個線程導致的cpu滿載3. 查看堆棧,定位到具體代碼段 本文將通過一個簡單的案例,展示幾下幾點: 如何定位是哪個服務進程導致CPU過載 哪個線程導致CPU過載

原创 萬字長文總結!吐血推薦的JVM面試題乾貨

文章目錄1.什麼是JVM2.JVM基本結構3.運行時數據區4 hotspot方法區的實現5 堆的結構6 爲何新生代要設置兩個survivor區7 對象訪問定位8 判斷對象存活方式9 GC安全點10 GC11 內存回收和分配策略12

原创 用得上的jstat,jinfo,jmap,jhat,jstack

文章目錄jps1.常用命令2.實戰jinfo1.常用命令參數2.實戰輸出指定參數輸出所有默認參數和設置的參數開啓關閉指定參數動態修改指定參數jmap1. 常用命令參數2. 實戰轉存dump文件。打印等待回收對象打印heap重要信息

原创 一篇文章搞清JVM死鎖問題及排查

關於死鎖,一直是面試和日常開發中的熟悉話題,本文將進行一下探討: 什麼是死鎖 出現死鎖的原因 如何避免死鎖 代碼中死鎖問題怎麼排查 文章目錄1. 什麼是死鎖2. 出現死鎖的原因3. 如何預防和避免死鎖4. 實戰JVM死鎖問

原创 Java從靜態代理到動態代理

文章目錄0 代理模式1 靜態代理2 動態代理(JDK)3 cglib動態代理使用方法4 總結 0 代理模式 代理模式是一種設計模式,說的簡單一點,代理模式就是設置一箇中間代理來控制訪問原目標對象,以達到增強原對象的功能和簡化訪問方