CodeGym
AI Academy
促銷
CodeGym University
學習
課程
任務
問卷 & 測驗
遊戲
說明
行程
社群
用戶
論壇
聊天
文章
成功故事
動態
評價
訂閱
淺色主題

課程

  • 評論
  • 關於我們
開始
開始學習
立即開始學習
  • My Progress
  • Courses
  • 任務地圖
  • 課程
  • Structured Concurrency

    JAVA 25 SELF
    等級 58,課程 0
    Structured Concurrency 將雜亂無章的執行緒集合轉化為可管理的任務層級結構:你在 StructuredTaskScope 內,以虛擬執行緒啟動子任務,透過 join() 等候它們,集中用 throwIfFailed() 處理錯誤,並用 resultNow()/ result() 取得結果。我們將說明結束策略 ShutdownOnFailure 與 ShutdownOnSuccess,比較它與 CompletableFuture 的差異,看看 HTTP 聚合器的範例,以及使用結構化併發時的常見錯誤。
    可用
  • 沿著堆疊傳遞的任務取消與逾時

    JAVA 25 SELF
    等級 58,課程 1
    如何在 Java 中正確取消長時間與阻塞性的操作:透過 Thread.interrupt() 進行協作式中斷,透過 Future.cancel() 取消任務與 CancellationException 的行為, CompletableFuture 的逾時與取消( orTimeout、 completeOnTimeout),使用 StructuredTaskScope 的結構化併發,設定共同截止時間(time‑budget)並將逾時沿著呼叫堆疊向下傳遞(包含 Instant/ Duration 與 Scoped Values)。並說明處理阻塞 IO 的實務與常見錯誤。
    可用
  • 高階同步器

    JAVA 25 SELF
    等級 58,課程 2
    在這堂課中,我們解析來自 java.util.concurrent 的高階同步器: CountDownLatch、 CyclicBarrier、 Phaser 與 Exchanger。學習如何透過 await()/ countDown() 協調任務的啟動與完成,用 await() 構建可重複使用的階段與屏障動作,使用 register()/ arriveAndAwaitAdvance()/ arriveAndDeregister() 管理「樂團」中的動態參與者,並透過 exchange() 兩兩交換資料。實作上,我們會做群體起跑的工作者以及「遊戲 tick」,並拆解常見錯誤: CountDownLatch 的一次性、如何處理 BrokenBarrierException,以及正確的 deregister()。全程免去 wait()/ notify() 的痛苦。
    可用
  • StampedLock 與低爭用計數器

    JAVA 25 SELF
    等級 58,課程 3
    當 ReentrantReadWriteLock 與傳統的 ReadWriteLock 在高負載下開始吃力時,帶有樂觀讀取的 StampedLock 就能派上用場: tryOptimisticRead + validate 的組合在寫入稀少時幾乎能提供「免費」的讀取。我們將拆解鎖的模式、印章(stamps)的用法、對 reentrancy 的限制,並與 ReentrantReadWriteLock 比較;也會看看低爭用的計數器 — LongAdder 與 LongAccumulator — 以及為什麼在競爭下它們能勝過 AtomicLong。最後以實作收尾:讀多寫少的快取與迷你效能測試。
    可用
  • Java 記憶體模型(JMM)

    JAVA 25 SELF
    等級 58,課程 4
    拆解 Java 記憶體模型中的可見性與指令排序規則:happens-before 關係代表什麼,何時以及如何使用 volatile、 synchronized、final 欄位( final),以及為什麼沒有它們會出現「陳舊」資料。示範安全發布物件、正確的 double-checked locking、透過 VarHandle 進行低階存取、偽共享的影響與 @Contended 註解,還有關於 Thread.start()/ Thread.join()、 Future.get() 與微基準測試 JMH 的實務備註。
    可用
學習
  • 註冊
  • Java 課程
  • 題目協助
  • 價格
  • Java 語法
社群
  • 用戶
  • 文章
  • 論壇
  • 聊天
  • 成功故事
  • 動態
  • 聯盟計畫
公司
  • 關於我們
  • 聯絡方式
  • 評價
  • 新聞中心
  • CodeGym for EDU
  • 常見問題
  • 支援
CodeGymCodeGym 是一門從零開始學習 Java 程式設計的線上課程。這門課程是初學者精通 Java 的完美方式。它包含超過 1200 題、具即時檢驗功能,以及涵蓋 Java 基礎理論的必要範圍。為了幫助你在學習上成功,我們實作了一系列激勵功能:測驗、程式專案、關於有效學習的內容,以及 Java 開發者職涯相關內容。
追蹤我們
介面語言
English Deutsch Español हिन्दी Français Português Polski বাংলা 简体中文 मराठी தமிழ் Italiano Bahasa Indonesia
繁體中文
Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym
MastercardVisa
"程式設計師是培養出來的,不是天生的" © 2026 CodeGym