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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 原始类型流与装箱(boxing)成本

    JAVA 25 SELF
    等级 33,课时 0
    在本讲中,我们将解释为什么处理数字集合时使用常规流( Stream<Integer>、 Stream<Double>)会因装箱/拆箱(boxing/unboxing)而可能效率低下,以及原始类型流—— IntStream、 LongStream、 DoubleStream——如何避免这些问题。我们将讨论 mapToInt/ boxed() 的转换、聚合操作( sum()、 average()、 summaryStatistics())、使用 OptionalInt/ OptionalDouble 获取安全结果,以及在哪些场景优化确实带来提升,并如何用 JMH 衡量效果。
    可用
  • Stream API 中的惰性求值(lazy evaluation)

    JAVA 25 SELF
    等级 33,课时 1
    在本讲中,我们讲解 Stream API 中的惰性求值:中间操作与终端操作有什么区别,为什么只有在调用终端操作后计算才会启动,逐元素处理与“短路操作”能带来哪些优势。我们会演示包含 filter、map、peek、findFirst、forEach 的链式调用,直观展示元素的流转,并分析常见错误以及关于高效安排操作顺序的建议。
    可用
  • 不可变集合:Collections.unmodifiable

    JAVA 25 SELF
    等级 33,课时 2
    本讲将讲解如何使用不可变包装器 Collections.unmodifiableList、 unmodifiableSet、 unmodifiableMap 来保护数据,“浅层”不可变与“深度”不可变有何区别,何时以及为何从方法返回包装器,以及 List.of/ Set.of/ Map.of 等现代替代方案。我们还将讨论常见错误(例如,指望深度不可变,或与 null 一起使用)以及为何修改尝试会抛出 UnsupportedOperationException。
    可用
  • Spliterator 与并行流

    JAVA 25 SELF
    等级 33,课时 3
    在本讲中,我们解析什么是 Spliterator,它不仅能遍历元素,还能通过 trySplit() 将数据源拆分成片段;基于此,并行流通过 parallelStream() 和公共池 ForkJoinPool 工作。展示关键方法( tryAdvance、 estimateSize、 characteristics)、常见特性( ORDERED、 SIZED、 CONCURRENT 等)、实践示例、Mermaid 图示,以及在使用并行流时的常见错误。
    可用
  • 自定义 Collector 和 Spliterator

    JAVA 25 SELF
    等级 33,课时 4
    本讲解说明如何基于 Stream API 通过 Collector 编写自定义收集器,以及在何种情况下这样做确有必要;同时演示如何实现自己的 Spliterator,以高效地进行顺序与并行数据遍历。我们将逐步讲解收集器的组成部分( supplier、 accumulator、 combiner、 finisher、 characteristics),给出多重映射和 Top-N 的示例,讨论 trySplit 的策略,并说明如何正确设置特性( ORDERED、 SIZED、 SUBSIZED 等)。
    可用
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