課程簡介
在云原生和數(shù)字化轉(zhuǎn)型的大背景下,Java作為企業(yè)級應用開發(fā)的首選語言,其重要性日益凸顯。本課程旨在深入探討Java技術棧的最新發(fā)展,分享最佳實踐,同時展望Java在未來技術生態(tài)中的角色和趨勢。本課程內(nèi)容涵蓋從云原生Java實踐到性能優(yōu)化技巧,從研發(fā)與交付效率提升到Java與開源生態(tài)的融合,再到Java與人工智能、大數(shù)據(jù)等新興技術的結合。我們還將深入討論Java的前沿技術,以及Java開發(fā)者的職業(yè)成長路徑。
目標收益
1.理解云原生架構下Java應用的挑戰(zhàn)與機遇;
2.掌握Java性能優(yōu)化的關鍵工具和策略;
3.學習提升研發(fā)流程效率的現(xiàn)代方法和工具;
4.了解AI將如何促進研發(fā)效能的提升;
5.了解Java在人工智能、向量數(shù)據(jù)庫等新興領域的應用案例;
6.洞察Java技術的未來發(fā)展,把握技術趨勢;
培訓對象
課程大綱
第一單元 云原生與Java(該單元介紹云原生現(xiàn)狀、發(fā)展趨勢,云原生下的Java技術棧、性能調(diào)優(yōu)等。) |
1.云原生下的架構與模式 1.1云原生的架構原則 1.2云原生架構模式與反模式 (案例:一次服務與事件驅(qū)動架構的選型實踐) 1.3云原生核心技術與應用 (案例:支付服務在云原生技術選型上的經(jīng)驗和教訓) 1.4云原生的優(yōu)勢與挑戰(zhàn) (案例:有效的CI/CD Pipeline是怎樣的?) 2.面向快速迭代的微服務化 2.1以業(yè)務為導向的服務設計 2.2微服務拆分與DDD思維 (案例:線下收單場景的領域驅(qū)動設計) 2.3微服務架構重難點剖析:數(shù)據(jù)一致性與穩(wěn)定性保障 (案例:餐飲SaaS從十萬到千萬級日單量的服務化改造) 3.高質(zhì)量編碼與測試最佳實踐 3.1識別代碼壞味道 3.2容易被寫壞的測試代碼 3.3測試代碼不work的原因 3.4測試代碼中的業(yè)務與環(huán)境分離 3.5維護測試與持續(xù)重構 (案例:一個鑒權模塊的開發(fā)、測試與重構) 4.云原生下的Java變革 4.1云原生下Java存在的問題 4.2靜態(tài)編譯與GraalVM 4.3冷啟動的問題與常規(guī)解法 4.4下一代Java云原生開發(fā):Quarkus 4.5云原生下的應用性能與可觀測性 (案例:云原生下的微服務的啟動提速(GraalVM Native)) 5.Java新特性與發(fā)展趨勢 5.1語法糖 or 新模式? 5.2Virtual Threads 與Actor模式 5.3面向ML/AI的Java開發(fā) 5.4多語言平臺的兼收并蓄 5.5觀點:Java的實用性與易用性發(fā)展趨勢(能否達到Python的手感?) |
第二單元 Java與新興技術融合與應用(該單元介紹Java與向量數(shù)據(jù),AI應用開發(fā)(SpringAI、GitHub Copilot等)) |
6.Java與AI如何結合 6.1大模型生態(tài)介紹 6.2AI Agent是什么? 6.3大數(shù)據(jù)之向量數(shù)據(jù)庫 6.4SpringAI:Java AI開發(fā)框架 6.5使用Java開發(fā)基于LLM的AI Agent (案例:實現(xiàn)智能訂餐助手) 6.6編程提效:GitHub Copilot |
第三單元 總結與討論 (職業(yè)發(fā)展、視野提升、未來變革) |
7.話題:Java工程師職業(yè)規(guī)劃 7.1仿寫開源框架對我的啟發(fā) 7.2深度和廣度如何取舍? 7.3輸出-輸入學習法 7.4管理 vs 技術,自我設限=0 7.5學會手持利器:新工具=新思路 7.6Java正在演變成多語言平臺,而我們只會Java? |
第一單元 云原生與Java(該單元介紹云原生現(xiàn)狀、發(fā)展趨勢,云原生下的Java技術棧、性能調(diào)優(yōu)等。) 1.云原生下的架構與模式 1.1云原生的架構原則 1.2云原生架構模式與反模式 (案例:一次服務與事件驅(qū)動架構的選型實踐) 1.3云原生核心技術與應用 (案例:支付服務在云原生技術選型上的經(jīng)驗和教訓) 1.4云原生的優(yōu)勢與挑戰(zhàn) (案例:有效的CI/CD Pipeline是怎樣的?) 2.面向快速迭代的微服務化 2.1以業(yè)務為導向的服務設計 2.2微服務拆分與DDD思維 (案例:線下收單場景的領域驅(qū)動設計) 2.3微服務架構重難點剖析:數(shù)據(jù)一致性與穩(wěn)定性保障 (案例:餐飲SaaS從十萬到千萬級日單量的服務化改造) 3.高質(zhì)量編碼與測試最佳實踐 3.1識別代碼壞味道 3.2容易被寫壞的測試代碼 3.3測試代碼不work的原因 3.4測試代碼中的業(yè)務與環(huán)境分離 3.5維護測試與持續(xù)重構 (案例:一個鑒權模塊的開發(fā)、測試與重構) 4.云原生下的Java變革 4.1云原生下Java存在的問題 4.2靜態(tài)編譯與GraalVM 4.3冷啟動的問題與常規(guī)解法 4.4下一代Java云原生開發(fā):Quarkus 4.5云原生下的應用性能與可觀測性 (案例:云原生下的微服務的啟動提速(GraalVM Native)) 5.Java新特性與發(fā)展趨勢 5.1語法糖 or 新模式? 5.2Virtual Threads 與Actor模式 5.3面向ML/AI的Java開發(fā) 5.4多語言平臺的兼收并蓄 5.5觀點:Java的實用性與易用性發(fā)展趨勢(能否達到Python的手感?) |
第二單元 Java與新興技術融合與應用(該單元介紹Java與向量數(shù)據(jù),AI應用開發(fā)(SpringAI、GitHub Copilot等)) 6.Java與AI如何結合 6.1大模型生態(tài)介紹 6.2AI Agent是什么? 6.3大數(shù)據(jù)之向量數(shù)據(jù)庫 6.4SpringAI:Java AI開發(fā)框架 6.5使用Java開發(fā)基于LLM的AI Agent (案例:實現(xiàn)智能訂餐助手) 6.6編程提效:GitHub Copilot |
第三單元 總結與討論 (職業(yè)發(fā)展、視野提升、未來變革) 7.話題:Java工程師職業(yè)規(guī)劃 7.1仿寫開源框架對我的啟發(fā) 7.2深度和廣度如何取舍? 7.3輸出-輸入學習法 7.4管理 vs 技術,自我設限=0 7.5學會手持利器:新工具=新思路 7.6Java正在演變成多語言平臺,而我們只會Java? |