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

課程

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

    JAVA 25 SELF
    等級 55,課程 0
    在本講座中,我們會解析為什麼同步程式碼會導致阻塞、 Future 有哪些限制(例如會阻塞的 get()),以及來自套件 java.util.concurrent 的類別 CompletableFuture 如何改變處理非同步的風格。我們會練習使用 supplyAsync 在背景啟動任務,透過 thenAccept/ thenApply 訂閱結果,討論 ForkJoinPool 的角色與常見錯誤:在主執行緒中使用 get()/ join()、未透過 exceptionally/ handle 處理錯誤等。
    可用
  • 非同步任務:thenApply、thenAccept、thenRun

    JAVA 25 SELF
    等級 55,課程 1
    透過 CompletableFuture 拆解非同步計算的啟動與組合:如何透過 supplyAsync 與 runAsync 啟動任務,處理器 thenApply、 thenAccept、 thenRun 有何差異,以及何時選擇其非同步版本 thenApplyAsync/ thenAcceptAsync/ thenRunAsync。也會談到執行緒( ForkJoinPool 或你的 Executor)、結果型別( CompletableFuture<T>、 CompletableFuture<Void>)與常見錯誤:阻塞的 get()/ join()、缺少 exceptionally/ handle/ whenComplete 的錯誤處理,以及嘗試在 thenRun 內使用結果。
    可用
  • 組合 CompletableFuture:thenCombine、allOf、anyOf

    JAVA 25 SELF
    等級 55,課程 2
    如何使用 CompletableFuture 並行處理任務並合併結果:透過 thenCombine/ thenCombineAsync 合併兩個結果,使用 allOf 等待一組任務完成,透過 anyOf 對最先返回的結果做出反應。會講解方法簽名、結合 supplyAsync 的實用範例、非阻塞處理( thenAccept、 thenRun),以及錯誤與其處理的細節( exceptionally、 handle、 whenComplete)。最後 — 精簡的比較表。
    可用
  • 非同步程式碼中的錯誤處理:exceptionally、handle

    JAVA 25 SELF
    等級 55,課程 3
    如何在 CompletableFuture 鏈中安全地捕捉與處理例外:拆解 exceptionally(發生錯誤時的備用值)、 handle(同時處理成功/失敗的通用處理器)與 whenComplete(不改變結果的副作用動作)的角色。也會說明為什麼直接呼叫 get()/ join() 會把原因包裝成 ExecutionException/ CompletionException,如何組合各階段( thenApply、 thenAccept),以及應避免哪些常見錯誤。
    可用
  • thenCompose + 自訂 Executor + 逾時

    JAVA 25 SELF
    等級 55,課程 4
    如何用「 CompletableFuture」中的 thenCompose 正確地串接非同步步驟,以及什麼時候只用 thenApply 就足夠;如何與為什麼要透過 ExecutorService 連接自有的執行緒池(而非 ForkJoinPool.commonPool());如何用 orTimeout 與 completeOnTimeout 保護鏈條避免「無限等待」。最後——提供一個包含自訂 Executor、 thenCompose 與逾時的實作範例,並附上常見錯誤與其解法。
    可用
學習
  • 註冊
  • 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