CodeGym
AI Academy
促销
CodeGym University
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 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
    如何用 thenCompose 在 CompletableFuture 中正确“拼接”异步步骤,以及何时只用 thenApply 就足够;为何以及如何通过 ExecutorService 接入自有线程池(而不是 ForkJoinPool.commonPool());如何用 orTimeout 和 completeOnTimeout 保护链路不至于“永远等待”。最后 — 实战示例:自定义 Executor、 thenCompose 与超时处理,以及常见错误与其解决方案。
    可用
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • 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