工程師
其他
Java
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

java高級(jí)進(jìn)階實(shí)戰(zhàn)

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

阿里云MVP,華為HCDE成員|技術(shù)作者
業(yè)界資深技術(shù)專家,從事開發(fā)和架構(gòu)工作近10年,擅長Java/Python體系下各類技術(shù)棧、擁有微服務(wù)、分布式高并發(fā)、AI&機(jī)器學(xué)習(xí)、大數(shù)據(jù)亞臺(tái)系統(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ū)動(dòng)式的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ái)系統(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ū)動(dòng)式的Java開發(fā)指南》 曾受邀為HP、通用、中郵、亞安、建行、華泰等中外企業(yè)進(jìn)行技術(shù)咨詢、培訓(xùn)等。

課程費(fèi)用

6800.00 /人

課程時(shí)長

4

成為教練

課程簡介

在互聯(lián)網(wǎng)+的今天,人們?cè)赑C、手機(jī)、Pad 上安裝了各式各樣的軟件服務(wù)或APP,享受著互聯(lián)網(wǎng)技術(shù)帶來的高效和便捷。隨著這些產(chǎn)品的高速發(fā)展,大家對(duì)高性能、穩(wěn)定性、安全性、擴(kuò)展性等方面有了更高的要求,而誕生于20多年前的Java平臺(tái),一直緊跟時(shí)代脈搏,兼收并蓄,持續(xù)優(yōu)化,在編程領(lǐng)域交出最滿意的答卷,最終成為現(xiàn)代互聯(lián)網(wǎng)服務(wù)端開發(fā)的王者。本課程涵蓋Java中大部分高級(jí)進(jìn)階知識(shí),內(nèi)容包括:Java多線程并發(fā)編程、線程池調(diào)優(yōu)、NIO/Netty高性能網(wǎng)絡(luò)服務(wù)編程、JVM內(nèi)存模型與GC調(diào)優(yōu)、線上事故診斷及排查工具等。

目標(biāo)收益

1、熟練掌握J(rèn)ava并發(fā)編程及應(yīng)用場景
2、熟練掌握J(rèn)ava并發(fā)包的使用,線程池配置及調(diào)優(yōu)
3、熟練掌握NIO/Netty高性能網(wǎng)絡(luò)服務(wù)編程
4、對(duì)Java體系下整體性能與調(diào)優(yōu)有全面的認(rèn)知
5、熟練掌握J(rèn)VM內(nèi)存模型以及GC調(diào)優(yōu)全過程(命令行、JVisualVM、Arthas等工具?)
6,熟練掌握服務(wù)器端調(diào)優(yōu)策略與最佳實(shí)踐(線程模型、任務(wù)類型區(qū)分

培訓(xùn)對(duì)象

課程大綱

第一部分
第一單元
Java并發(fā)編程基礎(chǔ)(4h)
1.多線程基礎(chǔ)
1.1. 多線程基礎(chǔ)介紹
1.2. 線程創(chuàng)建之Thread/Runnable
1.3. 線程狀態(tài)及生命周期(NEW、RUNNABLE、RUNNING、BLOCKED、TERMINATED)
1.4. Thread API(sleep、yield、join等)

2.線程安全
2.1線程安全問題的本因
(案例:如何避免編寫一個(gè)不安全的業(yè)務(wù)邏輯?)
2.2Synchronized關(guān)鍵字詳解
2.3線程間數(shù)據(jù)隔離之ThreadLocal
(案例:調(diào)用鏈跟蹤系統(tǒng)是如何使用ThreadLocal的)

3.線程間通信
3.1了解wait、notify
3.2生產(chǎn)者-消費(fèi)者模式(案例:隊(duì)列緩沖在任務(wù)處理中的應(yīng)用)
第二單元
Java線程池(2h)
4.線程池基礎(chǔ)
4.1線程池概要
4.2線程池基本原理
4.3線程池類型
4.3.1newFixedThreadPool(int nThreads)
4.3.2newSingleThreadExecutor()
4.3.3newCachedThreadPool()
4.4線程池實(shí)戰(zhàn)演練(案例:線程池在服務(wù)端處理時(shí)的選型、調(diào)優(yōu)及注意事項(xiàng))
第三單元
異步與函數(shù)式編程(2h)
5.異步編程
5.1為什么需要異步?
5.2Java對(duì)異步編程的支持
5.3使用Future編寫異步功能
5.4Future的增強(qiáng)版:CompletableFuture
5.5組合式CompletableFuture
5.6結(jié)合Stream(案例:整合異步計(jì)算結(jié)果)
第二部分
第一單元
JVM基礎(chǔ)(2h)
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啟動(dòng)參數(shù)格式
3.2啟動(dòng)參數(shù)設(shè)置
3.3常見啟動(dòng)參數(shù)

4.GC基礎(chǔ)分析
4.1GC信息查看
4.2GC問題排查
(案例:快速查看線上的GC問題)
4.3常見GC算法淺析
第二單元
JVM內(nèi)存及調(diào)優(yōu)(6h)
5.堆內(nèi)存分析
5.1堆內(nèi)存結(jié)構(gòu)
5.2堆內(nèi)存信息分析
5.3OOM問題及內(nèi)存dump文件
5.4GC日志文件深度分析
(案例:一次線上GC導(dǎo)致的系統(tǒng)卡頓問題排查過程/OOM dump信息分析)

6.實(shí)戰(zhàn)啟動(dòng)參數(shù)設(shè)置
6.1GC日志配置
6.2內(nèi)存配置

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)行時(shí)狀態(tài)
8.3Arthas常見命令工具
8.4線程問題診斷
(案例:快速找到最忙執(zhí)行線程/代碼)
8.5耗時(shí)問題診斷
(案例:快速排查線上調(diào)用鏈耗時(shí)問題)
8.6 如何線上診斷代碼級(jí)故障
第三部分
第一單元
NIO基礎(chǔ)(1.5h)
1.BIO與NIO概念詳述與對(duì)比
2.NIO模型詳解
2.1Channel(通道)
2.2Buffer(緩沖區(qū))
2.3Selector(選擇器)
3.快速開發(fā)網(wǎng)絡(luò)客戶端與服務(wù)端
第二單元
Netty實(shí)戰(zhàn)開發(fā)(3.5h)
4.Netty基礎(chǔ)介紹
5.Netty客戶端與服務(wù)端通信
6.認(rèn)識(shí)ByteBuf及相關(guān)API的應(yīng)用
7.Netty組件之Pipeline
與ChannelHandler
8.Netty線程模型分析
第一部分
第一單元
Java并發(fā)編程基礎(chǔ)(4h)
1.多線程基礎(chǔ)
1.1. 多線程基礎(chǔ)介紹
1.2. 線程創(chuàng)建之Thread/Runnable
1.3. 線程狀態(tài)及生命周期(NEW、RUNNABLE、RUNNING、BLOCKED、TERMINATED)
1.4. Thread API(sleep、yield、join等)

2.線程安全
2.1線程安全問題的本因
(案例:如何避免編寫一個(gè)不安全的業(yè)務(wù)邏輯?)
2.2Synchronized關(guān)鍵字詳解
2.3線程間數(shù)據(jù)隔離之ThreadLocal
(案例:調(diào)用鏈跟蹤系統(tǒng)是如何使用ThreadLocal的)

3.線程間通信
3.1了解wait、notify
3.2生產(chǎn)者-消費(fèi)者模式(案例:隊(duì)列緩沖在任務(wù)處理中的應(yīng)用)
第二單元
Java線程池(2h)
4.線程池基礎(chǔ)
4.1線程池概要
4.2線程池基本原理
4.3線程池類型
4.3.1newFixedThreadPool(int nThreads)
4.3.2newSingleThreadExecutor()
4.3.3newCachedThreadPool()
4.4線程池實(shí)戰(zhàn)演練(案例:線程池在服務(wù)端處理時(shí)的選型、調(diào)優(yōu)及注意事項(xiàng))
第三單元
異步與函數(shù)式編程(2h)
5.異步編程
5.1為什么需要異步?
5.2Java對(duì)異步編程的支持
5.3使用Future編寫異步功能
5.4Future的增強(qiáng)版:CompletableFuture
5.5組合式CompletableFuture
5.6結(jié)合Stream(案例:整合異步計(jì)算結(jié)果)
第二部分
第一單元
JVM基礎(chǔ)(2h)
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啟動(dòng)參數(shù)格式
3.2啟動(dòng)參數(shù)設(shè)置
3.3常見啟動(dòng)參數(shù)

4.GC基礎(chǔ)分析
4.1GC信息查看
4.2GC問題排查
(案例:快速查看線上的GC問題)
4.3常見GC算法淺析
第二單元
JVM內(nèi)存及調(diào)優(yōu)(6h)
5.堆內(nèi)存分析
5.1堆內(nèi)存結(jié)構(gòu)
5.2堆內(nèi)存信息分析
5.3OOM問題及內(nèi)存dump文件
5.4GC日志文件深度分析
(案例:一次線上GC導(dǎo)致的系統(tǒng)卡頓問題排查過程/OOM dump信息分析)

6.實(shí)戰(zhàn)啟動(dòng)參數(shù)設(shè)置
6.1GC日志配置
6.2內(nèi)存配置

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)行時(shí)狀態(tài)
8.3Arthas常見命令工具
8.4線程問題診斷
(案例:快速找到最忙執(zhí)行線程/代碼)
8.5耗時(shí)問題診斷
(案例:快速排查線上調(diào)用鏈耗時(shí)問題)
8.6 如何線上診斷代碼級(jí)故障
第三部分
第一單元
NIO基礎(chǔ)(1.5h)
1.BIO與NIO概念詳述與對(duì)比
2.NIO模型詳解
2.1Channel(通道)
2.2Buffer(緩沖區(qū))
2.3Selector(選擇器)
3.快速開發(fā)網(wǎng)絡(luò)客戶端與服務(wù)端
第二單元
Netty實(shí)戰(zhàn)開發(fā)(3.5h)
4.Netty基礎(chǔ)介紹
5.Netty客戶端與服務(wù)端通信
6.認(rèn)識(shí)ByteBuf及相關(guān)API的應(yīng)用
7.Netty組件之Pipeline
與ChannelHandler
8.Netty線程模型分析

活動(dòng)詳情

提交需求