架構(gòu)師
其他
分布式系統(tǒng)
Java
分布式
推薦課程
average > 0 ? $model->average . '分' : '10.0分' ?>

java中高級

哈瑞

一線互聯(lián)網(wǎng)行業(yè) 高級架構(gòu)師

?現(xiàn)任BAT公司某技術中心高級架構(gòu)師;曾在美團點評、唯品會工作,從事廣告平臺、電商平臺相關的架構(gòu)設計與團隊管理工作。
?中科院軟件研究所計算機專業(yè)碩士畢業(yè),出版過2本著作:
?在高并發(fā)高可用架構(gòu),業(yè)務建模,DDD領域,積累了10年工作經(jīng)驗,經(jīng)歷過游戲,社交,廣告,電商等各種類型的項目先后出版兩本書籍。曾任上海交大繼續(xù)教育學院兼職講師,教授Java與數(shù)據(jù)結(jié)構(gòu)基礎,網(wǎng)絡與Web,曾任美團點評的校招面試官,搜索與推薦平臺,電商運營平臺,電商商品,庫存體系 ,廣告平臺,數(shù)據(jù)中臺。

服務過的企業(yè):
廣州賽意
深圳創(chuàng)維-RGB電子
招聯(lián)消費金融
中移
酷開
銀聯(lián)

?現(xiàn)任BAT公司某技術中心高級架構(gòu)師;曾在美團點評、唯品會工作,從事廣告平臺、電商平臺相關的架構(gòu)設計與團隊管理工作。 ?中科院軟件研究所計算機專業(yè)碩士畢業(yè),出版過2本著作: ?在高并發(fā)高可用架構(gòu),業(yè)務建模,DDD領域,積累了10年工作經(jīng)驗,經(jīng)歷過游戲,社交,廣告,電商等各種類型的項目先后出版兩本書籍。曾任上海交大繼續(xù)教育學院兼職講師,教授Java與數(shù)據(jù)結(jié)構(gòu)基礎,網(wǎng)絡與Web,曾任美團點評的校招面試官,搜索與推薦平臺,電商運營平臺,電商商品,庫存體系 ,廣告平臺,數(shù)據(jù)中臺。 服務過的企業(yè): 廣州賽意 深圳創(chuàng)維-RGB電子 招聯(lián)消費金融 中移 酷開 銀聯(lián)

課程費用

5800.00 /人

課程時長

4

成為教練

課程簡介

深入剖析Java中高級特性,涵蓋泛型、反射、注解、動態(tài)代理等核心知識,并解析JDK9至20的新特性及協(xié)程技術。同時,聚焦Java并發(fā)基礎與GC算法,助力學員構(gòu)建高效、穩(wěn)定的分布式系統(tǒng)架構(gòu)。

目標收益

掌握Java泛型原理與應用,提升代碼復用性和類型安全性。
深入理解反射與注解機制,實現(xiàn)靈活編程與框架開發(fā)。
學習并發(fā)編程精髓,構(gòu)建高性能、高可用的Java應用。

培訓對象

課程大綱

第一天 Java幾大核心特性剖析1. 泛型 1.為什么需要泛型?為什么弱類型語言不需要泛型?
2.泛型類/泛型方法/泛型接口
3.泛型上下界
4.編程語言的協(xié)變、逆變、不變、泛型通配符、 PECS原則
5.泛型擦除原理、問題
2. 反射 1.反射與元編程
2.反射相關的API:Class/Field/Method/Parameter
3.反射典型的案例分析
4.反射和設計模式-工廠的結(jié)合
5.反射與泛型的結(jié)合
3. 注解 1.注解與注釋的區(qū)別與聯(lián)系
2.注解的用法:定義、使用、解析注解
3. 注解為什么必須和反射結(jié)合?
4. 注解的進階用法
5. 注解的高級用法:元注解、注解的繼承、注解的組合
6. 注解的典型案例
4. 動態(tài)代理 1.靜態(tài)代理的2種實現(xiàn)方式
2.動態(tài)代理的幾種實現(xiàn)方式
3.動態(tài)代理的典型案例
5. JDK9 - 20新特性 1. JDK各版本與LTS:OracleJDK、OpenJDK、KonaJDK
2. JDK9 - 20 各個版本的新特性,JDK的3 個LTS版本:JDK8, 11, 17
3. JDK8的主要進步,比如函數(shù)式編程
4. JDK11的主要進步,比如模塊化
5. JDK17的主要進步,比如ZGC
6. 協(xié)程 1.Java協(xié)程發(fā)展史
2.C++/Go中,協(xié)程的大規(guī)模工程應用
3. 為什么大家都要搞協(xié)程?
4. 協(xié)程的實現(xiàn)原理
5. 協(xié)程的典型案例
第二天 Java并發(fā)基礎 與 GC算法剖析
第1講:多線程基礎
線程的優(yōu)雅關閉;
InterruptedException與interrupt();
synchronized關鍵字;
wait與notify;

volatile關鍵字;
重排序問題;
內(nèi)存可見性問題;
重排序與內(nèi)存可見性的關系;
JMM與happen-before ;

Linux內(nèi)存屏障 ;
JDK內(nèi)存屏障;

常用無鎖編程實踐
第2講:Atomic類 1. JUC包的全貌
2. Java/Mysq1/Redis中的悲觀鎖與樂觀鎖
3. CAS詳解自旋與阻塞: AtomicInteger/Long/Boolean/Double
4. ABA問題 與 AtomicReference/AtomicStampedReference/AtomicMarkableReference
5.為什么需要FieldUpdater;
6. AtomicXXXArray的常見誤解

1. JDK 8 Striped64 與 LongAdder介紹
2. 原理:數(shù)據(jù)分片;最終一致性;
3. 原理:偽共享與緩存行填充;
4. LongAdder核心實現(xiàn)原理
5. LongAccumulator實現(xiàn)原理
6. DoubleAdder/DoubleAccumulator實現(xiàn)原理
第3講:Lock與Condition 1.鎖的公平性vs.非公平性 ;
鎖實現(xiàn)的基本原理 ;
阻塞隊列與喚醒機制 ;
unlock()實現(xiàn)分析
2.類繼承層次 ;
AQS的兩對模板方法 ;
WriteLock公平vs.非公平實現(xiàn) ;
ReadLock公平vs.非公平實現(xiàn) ;
3.Condition與Lock的關系 ;
Condition的使用場景 ;
Condition實現(xiàn)原理 ;await()實現(xiàn)分析;
4.為什么引入StampedLock ;
“樂觀讀”的實現(xiàn)原理
悲觀讀/寫:“阻塞”與“自旋”策略實現(xiàn)差異 ;
第4講: GC - CMS剖析 1.GC算法的基本分類、背景知識(比如3色標記法、讀寫屏障)
2.對CMS算法的常見誤解
3.Young GC – ParNew算法解析
4. Old GC – CMS算法解析
5. Full GC算法解析
第5講:GC – G1剖析 1.G1相對CMS,改進的地方
2.G1與 CMS內(nèi)存布局的對比
3.G1算法 – 年輕代解析
4.G1算法 – 年老代解析
第6講:GC – ZGC剖析 1.ZGC相對 CMS/G1,先進性體現(xiàn)在哪?
2.ZGC核心技術 – 染色指針
3.ZGC算法解析
4.ZGC還有哪些不足?
第三天 Java并發(fā)編程 – 高級

第1課:同步工具類
Semaphore;
CountDownLatch; CyclicBarrier
使用場景;實現(xiàn)原理

Exchanger Phaser
使用場景;實現(xiàn)原理
第2課:并發(fā)容器 1.BlockingQueue
ArrayBlockingQueue PriorityBlockingQueue
2.BlockingQueue(續(xù))
DelayQueue SynchronousQueue
3.BlockingDequeCopyOnWrite
CopyOnWriteArrayListCopyOnWriteArraySet
4.ConcurrentLinkedQueue/ Deque
使用場景與實現(xiàn)原理
5.ConcurrentHashMap
使用場景與實現(xiàn)原理
6.ConcurrentSkipListMap/Set
使用場景與實現(xiàn)原理
第3課:線程池與Future 1.線程池-實現(xiàn)原理剖析:線程池的實現(xiàn)原理;線程池的類繼承體系;線程池的優(yōu)雅關閉 ;任務的提交過程分析 線程池的4種拒絕策略 ;
2.Callable與Future:Callable與Runnable;Future的廣泛用途;Future的實現(xiàn)原理
3.ScheduledThreadPool Executor:實現(xiàn)原理分析
4.Executors工具類與總結(jié):實現(xiàn)原理分析;異步編程總結(jié);
第4講:ForkJoinPool 1.ForkJoinPool用法 ;工作竊取隊列 ;狀態(tài)變量
ctl解析
2.ForkJoinPool原理解析:阻塞棧Treiber Stack ;Worker線程的阻塞-喚醒機制任務的提交過程分析
3.ForkJoinPool原理解析(續(xù)1):工作竊取算法順序鎖 SeqLock ;ForkJoinTask的fork/join ;
4.ForkJoinPool原理解析(續(xù)2):join的層層嵌套 ;ForkJoinPool的優(yōu)雅關閉
第5課:CompletableFuture 1.CompletableFuture使用場景:最簡單的用法;提交任務;四種任務原型 ;CompletionStage接口 ;
2.CompletableFuture實現(xiàn)原理:CompletableFuture的構(gòu)造: 任務類型的適配 ;任務的鏈式執(zhí)行過程分析thenApply與thenApplyAsync的區(qū)別
3.CompletableFuture實現(xiàn)原理(續(xù)):任務的網(wǎng)狀執(zhí)行:有向無環(huán)圖 ;內(nèi)部的計算圖分析 ;
第6課
JDK8以后對JUC包的改動
JUC包隨Java版本發(fā)展的變化
1.JDK8相對JDK7,對并發(fā)包的改動
2.JDK11相對JDK8,對并發(fā)包的改動
3.JDK17相對JDK11,對并發(fā)包的改動
第四天 Java現(xiàn)網(wǎng)問題排查 與 GC調(diào)優(yōu)

第1課 現(xiàn)網(wǎng)問題排查與解決入門
1. 現(xiàn)網(wǎng)問題排查的基本方法論
2. 問題與工具
第2課 內(nèi)存泄漏 內(nèi)存泄漏 - 排查方法與案例
1.dump與MAT工具
2.jemalloc/jeprof
3.NMT與jcmd
4.典型案例
第3課 CPU飆高 CPU飆高 - 排查方法與案例
1.Linux常見cpu相關命令、jstack
2.CPU火焰圖
3.典型案例
第4課 其它問題與工具 1.阿里arthas工具
2.典型案例
第5課GC調(diào)優(yōu) 1.GC調(diào)優(yōu)的目標、方法論
2.GC算法深入解析
3.案例
第一天 Java幾大核心特性剖析1. 泛型
1.為什么需要泛型?為什么弱類型語言不需要泛型?
2.泛型類/泛型方法/泛型接口
3.泛型上下界
4.編程語言的協(xié)變、逆變、不變、泛型通配符、 PECS原則
5.泛型擦除原理、問題
2. 反射
1.反射與元編程
2.反射相關的API:Class/Field/Method/Parameter
3.反射典型的案例分析
4.反射和設計模式-工廠的結(jié)合
5.反射與泛型的結(jié)合
3. 注解
1.注解與注釋的區(qū)別與聯(lián)系
2.注解的用法:定義、使用、解析注解
3. 注解為什么必須和反射結(jié)合?
4. 注解的進階用法
5. 注解的高級用法:元注解、注解的繼承、注解的組合
6. 注解的典型案例
4. 動態(tài)代理
1.靜態(tài)代理的2種實現(xiàn)方式
2.動態(tài)代理的幾種實現(xiàn)方式
3.動態(tài)代理的典型案例
5. JDK9 - 20新特性
1. JDK各版本與LTS:OracleJDK、OpenJDK、KonaJDK
2. JDK9 - 20 各個版本的新特性,JDK的3 個LTS版本:JDK8, 11, 17
3. JDK8的主要進步,比如函數(shù)式編程
4. JDK11的主要進步,比如模塊化
5. JDK17的主要進步,比如ZGC
6. 協(xié)程
1.Java協(xié)程發(fā)展史
2.C++/Go中,協(xié)程的大規(guī)模工程應用
3. 為什么大家都要搞協(xié)程?
4. 協(xié)程的實現(xiàn)原理
5. 協(xié)程的典型案例
第二天 Java并發(fā)基礎 與 GC算法剖析
第1講:多線程基礎
線程的優(yōu)雅關閉;
InterruptedException與interrupt();
synchronized關鍵字;
wait與notify;

volatile關鍵字;
重排序問題;
內(nèi)存可見性問題;
重排序與內(nèi)存可見性的關系;
JMM與happen-before ;

Linux內(nèi)存屏障 ;
JDK內(nèi)存屏障;

常用無鎖編程實踐
第2講:Atomic類
1. JUC包的全貌
2. Java/Mysq1/Redis中的悲觀鎖與樂觀鎖
3. CAS詳解自旋與阻塞: AtomicInteger/Long/Boolean/Double
4. ABA問題 與 AtomicReference/AtomicStampedReference/AtomicMarkableReference
5.為什么需要FieldUpdater;
6. AtomicXXXArray的常見誤解

1. JDK 8 Striped64 與 LongAdder介紹
2. 原理:數(shù)據(jù)分片;最終一致性;
3. 原理:偽共享與緩存行填充;
4. LongAdder核心實現(xiàn)原理
5. LongAccumulator實現(xiàn)原理
6. DoubleAdder/DoubleAccumulator實現(xiàn)原理
第3講:Lock與Condition
1.鎖的公平性vs.非公平性 ;
鎖實現(xiàn)的基本原理 ;
阻塞隊列與喚醒機制 ;
unlock()實現(xiàn)分析
2.類繼承層次 ;
AQS的兩對模板方法 ;
WriteLock公平vs.非公平實現(xiàn) ;
ReadLock公平vs.非公平實現(xiàn) ;
3.Condition與Lock的關系 ;
Condition的使用場景 ;
Condition實現(xiàn)原理 ;await()實現(xiàn)分析;
4.為什么引入StampedLock ;
“樂觀讀”的實現(xiàn)原理
悲觀讀/寫:“阻塞”與“自旋”策略實現(xiàn)差異 ;
第4講: GC - CMS剖析
1.GC算法的基本分類、背景知識(比如3色標記法、讀寫屏障)
2.對CMS算法的常見誤解
3.Young GC – ParNew算法解析
4. Old GC – CMS算法解析
5. Full GC算法解析
第5講:GC – G1剖析
1.G1相對CMS,改進的地方
2.G1與 CMS內(nèi)存布局的對比
3.G1算法 – 年輕代解析
4.G1算法 – 年老代解析
第6講:GC – ZGC剖析
1.ZGC相對 CMS/G1,先進性體現(xiàn)在哪?
2.ZGC核心技術 – 染色指針
3.ZGC算法解析
4.ZGC還有哪些不足?
第三天 Java并發(fā)編程 – 高級

第1課:同步工具類
Semaphore;
CountDownLatch; CyclicBarrier
使用場景;實現(xiàn)原理

Exchanger Phaser
使用場景;實現(xiàn)原理
第2課:并發(fā)容器
1.BlockingQueue
ArrayBlockingQueue PriorityBlockingQueue
2.BlockingQueue(續(xù))
DelayQueue SynchronousQueue
3.BlockingDequeCopyOnWrite
CopyOnWriteArrayListCopyOnWriteArraySet
4.ConcurrentLinkedQueue/ Deque
使用場景與實現(xiàn)原理
5.ConcurrentHashMap
使用場景與實現(xiàn)原理
6.ConcurrentSkipListMap/Set
使用場景與實現(xiàn)原理
第3課:線程池與Future
1.線程池-實現(xiàn)原理剖析:線程池的實現(xiàn)原理;線程池的類繼承體系;線程池的優(yōu)雅關閉 ;任務的提交過程分析 線程池的4種拒絕策略 ;
2.Callable與Future:Callable與Runnable;Future的廣泛用途;Future的實現(xiàn)原理
3.ScheduledThreadPool Executor:實現(xiàn)原理分析
4.Executors工具類與總結(jié):實現(xiàn)原理分析;異步編程總結(jié);
第4講:ForkJoinPool
1.ForkJoinPool用法 ;工作竊取隊列 ;狀態(tài)變量
ctl解析
2.ForkJoinPool原理解析:阻塞棧Treiber Stack ;Worker線程的阻塞-喚醒機制任務的提交過程分析
3.ForkJoinPool原理解析(續(xù)1):工作竊取算法順序鎖 SeqLock ;ForkJoinTask的fork/join ;
4.ForkJoinPool原理解析(續(xù)2):join的層層嵌套 ;ForkJoinPool的優(yōu)雅關閉
第5課:CompletableFuture
1.CompletableFuture使用場景:最簡單的用法;提交任務;四種任務原型 ;CompletionStage接口 ;
2.CompletableFuture實現(xiàn)原理:CompletableFuture的構(gòu)造: 任務類型的適配 ;任務的鏈式執(zhí)行過程分析thenApply與thenApplyAsync的區(qū)別
3.CompletableFuture實現(xiàn)原理(續(xù)):任務的網(wǎng)狀執(zhí)行:有向無環(huán)圖 ;內(nèi)部的計算圖分析 ;
第6課
JDK8以后對JUC包的改動
JUC包隨Java版本發(fā)展的變化
1.JDK8相對JDK7,對并發(fā)包的改動
2.JDK11相對JDK8,對并發(fā)包的改動
3.JDK17相對JDK11,對并發(fā)包的改動
第四天 Java現(xiàn)網(wǎng)問題排查 與 GC調(diào)優(yōu)

第1課 現(xiàn)網(wǎng)問題排查與解決入門
1. 現(xiàn)網(wǎng)問題排查的基本方法論
2. 問題與工具
第2課 內(nèi)存泄漏
內(nèi)存泄漏 - 排查方法與案例
1.dump與MAT工具
2.jemalloc/jeprof
3.NMT與jcmd
4.典型案例
第3課 CPU飆高
CPU飆高 - 排查方法與案例
1.Linux常見cpu相關命令、jstack
2.CPU火焰圖
3.典型案例
第4課 其它問題與工具
1.阿里arthas工具
2.典型案例
第5課GC調(diào)優(yōu)
1.GC調(diào)優(yōu)的目標、方法論
2.GC算法深入解析
3.案例

課程費用

5800.00 /人

課程時長

4

預約體驗票 我要分享

近期公開課推薦

近期公開課推薦

活動詳情

提交需求