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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 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() 成对交换数据。实战中我们会实现大量 worker 的同时起跑和“游戏 tick”,并拆解常见错误: CountDownLatch 的一次性特性、处理 BrokenBarrierException 以及正确的 deregister()。全程避免使用 wait()/ notify() 带来的痛苦。
    可用
  • StampedLock 与低争用计数器

    JAVA 25 SELF
    等级 58,课时 3
    当 ReentrantReadWriteLock 和经典的 ReadWriteLock 在高负载下开始“打滑”时, StampedLock 的乐观读就能派上用场: tryOptimisticRead + validate 的组合在写入稀少时能带来几乎“免费”的读取。我们将讲解锁的工作模式、戳记的使用、对可重入的限制,对比 ReentrantReadWriteLock,还会看看低争用计数器—— LongAdder 与 LongAccumulator——以及它们为何在竞争下跑赢 AtomicLong。最后以实践收尾:读取占优的缓存与一个迷你基准测试。
    可用
  • Java Memory Model (JMM)

    JAVA 25 SELF
    等级 58,课时 4
    解析 Java Memory Model 中的可见性与操作排序规则: happens-before 关系意味着什么, volatile、 synchronized、最终字段( final)何时以及如何发挥作用,以及为什么没有它们会出现“陈旧”数据。我们将展示对象的安全发布、正确的 double-checked locking、通过 VarHandle 的低层访问、伪共享的影响与注解 @Contended,以及关于 Thread.start()/ Thread.join()、 Future.get() 和微基准 JMH 的实用注意事项。
    可用
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