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

Java多線程并發(fā)編程實戰(zhàn)

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

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

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

課程費用

5800.00 /人

課程時長

1

成為教練

課程簡介

在互聯(lián)網(wǎng)+的今天,人們在PC、手機、Pad 上安裝了各式各樣的軟件服務(wù)或APP,享受著互聯(lián)網(wǎng)技術(shù)帶來的高效和便捷。隨著這些產(chǎn)品的高速發(fā)展,大家對高性能、穩(wěn)定性、安全性、擴展性等方面有了更高的要求,而誕生于20多年前的Java平臺,一直緊跟時代脈搏,兼收并蓄,持續(xù)優(yōu)化,在編程領(lǐng)域交出最滿意的答卷,最終成為現(xiàn)代互聯(lián)網(wǎng)服務(wù)端開發(fā)的王者。對于任何服務(wù)端語言來說,并發(fā)機制都是直接影響性能的最關(guān)鍵因素,而本次課程,我們將主要聚焦于Java中最核心,也是最有難度的內(nèi)容:多線程并發(fā)編程。Java是天然多線程模型,但是用好它卻極為不易。Java并發(fā)包(新)從JDK5發(fā)布,一直到JDK8 Lambda、函數(shù)式編程的應(yīng)用,大家在并發(fā)編程時所遵循的底層模式仍未有太大變化,只要我們能清晰掌握其中核心知識點,無論是任何編程范式,都能運用自如。本次課程會先從多線程編程基礎(chǔ)開始講起,然后針對線程安全、鎖機制做較為全面的解讀。同時,我們通過對并發(fā)包常見API的實戰(zhàn)性講解,讓大家能完全掌握如何編寫一款健壯且安全的多線程并發(fā)應(yīng)用,這里面涉及到的內(nèi)容有常見線程池及參數(shù)配置、線程池調(diào)優(yōu)、常見API如ReentranLock、Condition、CountDownLatch的應(yīng)用等。最后,我們會了解如何靈活運用Future、CompletableFuture等API編寫符合業(yè)務(wù)需要的異步處理功能。

目標收益

即將上線

培訓(xùn)對象

課程大綱

引子 詳細介紹Java并發(fā)編程涉及到的所有重難知識點
第一單元
Java并發(fā)編程基礎(chǔ)
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 線程安全問題的本因
(案例:如何避免編寫一個不安全的業(yè)務(wù)邏輯?)
2.2 Synchronized關(guān)鍵字詳解
2.3 線程間數(shù)據(jù)隔離之ThreadLocal
(案例:調(diào)用鏈跟蹤系統(tǒng)是如何使用ThreadLocal的)

3. 線程間通信
3.1 了解wait、notify
3.2 生產(chǎn)者-消費者模式(案例:隊列緩沖在任務(wù)處理中的應(yīng)用)
第二單元
Java線程池
4. 線程池基礎(chǔ)
4.1 線程池概要
4.2 線程池基本原理
4.3 線程池類型
4.3.1 newFixedThreadPool(int nThreads)
4.3.2 newSingleThreadExecutor()
4.3.3 newCachedThreadPool()
4.4 線程池實戰(zhàn)演練(案例:線程池在服務(wù)端處理時的選型、調(diào)優(yōu)及注意事項)
第三單元
異步與函數(shù)式編程
5. 異步編程
5.1 為什么需要異步?
5.2 Java對異步編程的支持
5.3 使用Future編寫異步功能
5.4 Future的增強版:CompletableFuture
5.5 組合式CompletableFuture
5.6 結(jié)合Stream(案例:整合異步計算結(jié)果)
引子
詳細介紹Java并發(fā)編程涉及到的所有重難知識點
第一單元
Java并發(fā)編程基礎(chǔ)

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

3. 線程間通信
3.1 了解wait、notify
3.2 生產(chǎn)者-消費者模式(案例:隊列緩沖在任務(wù)處理中的應(yīng)用)
第二單元
Java線程池

4. 線程池基礎(chǔ)
4.1 線程池概要
4.2 線程池基本原理
4.3 線程池類型
4.3.1 newFixedThreadPool(int nThreads)
4.3.2 newSingleThreadExecutor()
4.3.3 newCachedThreadPool()
4.4 線程池實戰(zhàn)演練(案例:線程池在服務(wù)端處理時的選型、調(diào)優(yōu)及注意事項)
第三單元
異步與函數(shù)式編程

5. 異步編程
5.1 為什么需要異步?
5.2 Java對異步編程的支持
5.3 使用Future編寫異步功能
5.4 Future的增強版:CompletableFuture
5.5 組合式CompletableFuture
5.6 結(jié)合Stream(案例:整合異步計算結(jié)果)

活動詳情

提交需求