工程師
互聯(lián)網(wǎng)
其他
工程師
Java
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

Java體系下的性能監(jiān)控與調(diào)優(yōu)

阿里云MVP 技術(shù)顧問 CTO

阿里云MVP,華為HCDE成員|技術(shù)作者
業(yè)界資深技術(shù)專家,從事開發(fā)和架構(gòu)工作近10年,擅長Java/Python體系下各類技術(shù)棧、擁有微服務(wù)、分布式高并發(fā)、AI&機(jī)器學(xué)習(xí)、大數(shù)據(jù)亞臺系統(tǒng)架構(gòu)經(jīng)驗(yàn),曾相任多家創(chuàng)業(yè)公司CTO、合伙人,負(fù)責(zé)研發(fā)線所有產(chǎn)品技術(shù)架構(gòu)、團(tuán)隊(duì)管理等工作,開發(fā)了多款金融、風(fēng)控大數(shù)據(jù)、SaaS、區(qū)塊鏈等產(chǎn)品。
曾出版技術(shù)書籍《Akka實(shí)戰(zhàn): 快速構(gòu)建高可用分布式應(yīng)用》,受到多位業(yè)界知名技術(shù)專家聯(lián)名推薦作序,該書是國內(nèi)首本原創(chuàng)相關(guān)書籍。曾出版譯著《軟件開發(fā)實(shí)踐項(xiàng)目驅(qū)動式的Java開發(fā)指南》
曾受邀為HP、通用、中郵、亞安、建行、華泰等中外企業(yè)進(jìn)行技術(shù)咨詢、培訓(xùn)等。

阿里云MVP,華為HCDE成員|技術(shù)作者 業(yè)界資深技術(shù)專家,從事開發(fā)和架構(gòu)工作近10年,擅長Java/Python體系下各類技術(shù)棧、擁有微服務(wù)、分布式高并發(fā)、AI&機(jī)器學(xué)習(xí)、大數(shù)據(jù)亞臺系統(tǒng)架構(gòu)經(jīng)驗(yàn),曾相任多家創(chuàng)業(yè)公司CTO、合伙人,負(fù)責(zé)研發(fā)線所有產(chǎn)品技術(shù)架構(gòu)、團(tuán)隊(duì)管理等工作,開發(fā)了多款金融、風(fēng)控大數(shù)據(jù)、SaaS、區(qū)塊鏈等產(chǎn)品。 曾出版技術(shù)書籍《Akka實(shí)戰(zhàn): 快速構(gòu)建高可用分布式應(yīng)用》,受到多位業(yè)界知名技術(shù)專家聯(lián)名推薦作序,該書是國內(nèi)首本原創(chuàng)相關(guān)書籍。曾出版譯著《軟件開發(fā)實(shí)踐項(xiàng)目驅(qū)動式的Java開發(fā)指南》 曾受邀為HP、通用、中郵、亞安、建行、華泰等中外企業(yè)進(jìn)行技術(shù)咨詢、培訓(xùn)等。

課程費(fèi)用

5800.00 /人

課程時長

2

成為教練

課程簡介

在互聯(lián)網(wǎng)+的今天,人們在PC、手機(jī)、Pad 上安裝了各式各樣的軟件服務(wù)或APP,享受著互聯(lián)網(wǎng)技術(shù)帶來的高效和便捷。隨著這些產(chǎn)品的高速發(fā)展,大家對高性能、穩(wěn)定性、安全性、擴(kuò)展性等方面有了更高的要求,而誕生于20多年前的Java平臺,一直緊跟時代脈搏,兼收并蓄,持續(xù)優(yōu)化,在編程領(lǐng)域交出最滿意的答卷,最終成為現(xiàn)代互聯(lián)網(wǎng)服務(wù)端開發(fā)的王者。當(dāng)然,一種語言再強(qiáng)大,也不能在任何時候都能達(dá)到我們理想的狀態(tài)。在實(shí)際工作中,我們會遇到非常多的性能問題,有些問題是需要在開發(fā)設(shè)計(jì)前通過規(guī)范避免的,有些問題是需要根據(jù)線上生產(chǎn)環(huán)境“邊查邊看邊調(diào)整”的。很多工程師在遇到這些問題時,會根據(jù)一些淺顯的表現(xiàn)來做很“粗暴”的處理,比如:OOM了就升配內(nèi)存,CPU飆高就升核,超時異常過多就延長超時時間。。。誠然,在緊急情況下,有些處理能馬上解決問題,但畢竟不是長久之計(jì),甚至有時候會弄巧成拙。為了讓大家對性能調(diào)優(yōu)有更深的認(rèn)識,本次課程我們會從JVM基礎(chǔ)開始講起,比如JVM內(nèi)存模型、GC機(jī)制、堆內(nèi)存分析等,然后延展開來,通過線上常見問題來實(shí)戰(zhàn)化學(xué)習(xí)JVM的性能監(jiān)控及調(diào)優(yōu)策略。

目標(biāo)收益

1、 對Java體系下整體性能與調(diào)優(yōu)有全面的認(rèn)知
2、 熟練掌握J(rèn)VM內(nèi)存模型以及GC調(diào)優(yōu)全過程(命令行、JVisualVM、Arthas等工具?)
3、 熟練掌握服務(wù)器端調(diào)優(yōu)策略與最佳實(shí)踐(內(nèi)存/IO/CPU等)
4、 熟練掌握代碼級性能提升關(guān)注點(diǎn),以及性能基準(zhǔn)測試方法

培訓(xùn)對象

課程大綱

引子 介紹JVM內(nèi)存模型及GC問題、性能優(yōu)化、服務(wù)端的性能配置等
第一單元 JVM基礎(chǔ) 1.JVM組成及運(yùn)行機(jī)制
2.Java內(nèi)存模型
2.1內(nèi)存結(jié)構(gòu)
2.2內(nèi)存與線程

3.JVM參數(shù)概要
3.1啟動參數(shù)格式
3.2啟動參數(shù)設(shè)置
3.3常見啟動參數(shù)

4.GC基礎(chǔ)分析
4.1GC信息查看
4.2GC問題排查
(案例1:快速查看線上的GC問題)
4.3常見GC算法淺析
第二單元 JVM內(nèi)存及調(diào)優(yōu) 5.堆內(nèi)存分析
5.1堆內(nèi)存結(jié)構(gòu)
5.2堆內(nèi)存信息分析
5.3OOM問題及內(nèi)存dump文件
5.4GC日志文件深度分析

案例2:一次線上GC導(dǎo)致的系統(tǒng)卡頓問題排查過程/OOM dump信息分析


6.Java線程狀態(tài)分析
6.1RUNNABLE狀態(tài)及分析
6.2BLOCKED狀態(tài)及分析
6.3WAITING(wait/notify、join)及分析
6.4使用jstack進(jìn)行死鎖檢測

7.內(nèi)置可視化診斷工具JVisualVM
7.1功能概覽與基礎(chǔ)配置
7.2線程監(jiān)控與分析
7.3內(nèi)存監(jiān)控與分析
7.4CPU采樣分析

8.線上問題診斷工具Arthas?
8.1Arthas功能概覽
8.2使用Arthas查看系統(tǒng)全景運(yùn)行時狀態(tài)
8.3Arthas常見命令工具
8.4線程問題診斷
(案例3:快速找到最忙執(zhí)行線程/代碼)
8.5耗時問題診斷
(案例4:快速排查線上調(diào)用鏈耗時問題)
如何線上診斷代碼級故障
第三單元 服務(wù)器性能調(diào)優(yōu)實(shí)戰(zhàn) 9.CPU與性能診斷
9.1平均負(fù)載與負(fù)載分析
9.2負(fù)載與CPU使用率
9.3CPU性能指標(biāo)與工具介紹
案例5:使用vmstat、pidstat等工具進(jìn)行系統(tǒng)高負(fù)載分析及上下文切換分析

10.內(nèi)存與性能診斷
10.1內(nèi)存基礎(chǔ)知識
10.22. 內(nèi)存常見指標(biāo)/virt/res/buff/cache/Swap
10.3內(nèi)存性能指標(biāo)與問題診斷一般流程
案例6:Java Native代碼導(dǎo)致的內(nèi)存泄漏問題排查
第四單元 編寫高性能代碼 11.高性能代碼技巧
11.1線程池選型與參數(shù)調(diào)優(yōu)
11.2ThreadLocal的資源釋放

12.基于JMH的性能測試
12.1JMH基本介紹
12.2JMH基本概念之Mode、Iteration、Warmup等
12.3使用JMH進(jìn)行代碼級性能基準(zhǔn)測試
引子
介紹JVM內(nèi)存模型及GC問題、性能優(yōu)化、服務(wù)端的性能配置等
第一單元 JVM基礎(chǔ)
1.JVM組成及運(yùn)行機(jī)制
2.Java內(nèi)存模型
2.1內(nèi)存結(jié)構(gòu)
2.2內(nèi)存與線程

3.JVM參數(shù)概要
3.1啟動參數(shù)格式
3.2啟動參數(shù)設(shè)置
3.3常見啟動參數(shù)

4.GC基礎(chǔ)分析
4.1GC信息查看
4.2GC問題排查
(案例1:快速查看線上的GC問題)
4.3常見GC算法淺析
第二單元 JVM內(nèi)存及調(diào)優(yōu)
5.堆內(nèi)存分析
5.1堆內(nèi)存結(jié)構(gòu)
5.2堆內(nèi)存信息分析
5.3OOM問題及內(nèi)存dump文件
5.4GC日志文件深度分析

案例2:一次線上GC導(dǎo)致的系統(tǒng)卡頓問題排查過程/OOM dump信息分析


6.Java線程狀態(tài)分析
6.1RUNNABLE狀態(tài)及分析
6.2BLOCKED狀態(tài)及分析
6.3WAITING(wait/notify、join)及分析
6.4使用jstack進(jìn)行死鎖檢測

7.內(nèi)置可視化診斷工具JVisualVM
7.1功能概覽與基礎(chǔ)配置
7.2線程監(jiān)控與分析
7.3內(nèi)存監(jiān)控與分析
7.4CPU采樣分析

8.線上問題診斷工具Arthas?
8.1Arthas功能概覽
8.2使用Arthas查看系統(tǒng)全景運(yùn)行時狀態(tài)
8.3Arthas常見命令工具
8.4線程問題診斷
(案例3:快速找到最忙執(zhí)行線程/代碼)
8.5耗時問題診斷
(案例4:快速排查線上調(diào)用鏈耗時問題)
如何線上診斷代碼級故障
第三單元 服務(wù)器性能調(diào)優(yōu)實(shí)戰(zhàn)
9.CPU與性能診斷
9.1平均負(fù)載與負(fù)載分析
9.2負(fù)載與CPU使用率
9.3CPU性能指標(biāo)與工具介紹
案例5:使用vmstat、pidstat等工具進(jìn)行系統(tǒng)高負(fù)載分析及上下文切換分析

10.內(nèi)存與性能診斷
10.1內(nèi)存基礎(chǔ)知識
10.22. 內(nèi)存常見指標(biāo)/virt/res/buff/cache/Swap
10.3內(nèi)存性能指標(biāo)與問題診斷一般流程
案例6:Java Native代碼導(dǎo)致的內(nèi)存泄漏問題排查
第四單元 編寫高性能代碼
11.高性能代碼技巧
11.1線程池選型與參數(shù)調(diào)優(yōu)
11.2ThreadLocal的資源釋放

12.基于JMH的性能測試
12.1JMH基本介紹
12.2JMH基本概念之Mode、Iteration、Warmup等
12.3使用JMH進(jìn)行代碼級性能基準(zhǔn)測試

課程費(fèi)用

5800.00 /人

課程時長

2

預(yù)約體驗(yàn)票 我要分享

近期公開課推薦

近期公開課推薦

活動詳情

提交需求