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

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 文件的多线程读写

    JAVA 25 SELF
    等级 59,课时 0
    在 Java 中进行并行文件操作的实用指南:何时多线程确实能加速 I/O、何时不会;工具的选择—— Thread、通过 ExecutorService 的线程池、使用 CompletableFuture 的异步与并行流——以及通过 FileChannel 按块读取大文件、向共享日志安全写入,以及操作系统/文件系统的限制。我们讲解任务启动模式、线程池配置、 shutdown()/ awaitTermination() 方法和常见错误。
    可用
  • 文件的并行处理:ForkJoin、并行流

    JAVA 25 SELF
    等级 59,课时 1
    在 Java 中并行化文件任务的实用指南:如何通过 Stream API 的 parallel()/ parallelStream() 开启并行, ForkJoinPool 的工作原理与配置方式,以及何时更适合使用 RecursiveTask。我们将讨论并行在哪些场景下确实能加速 I/O,如何管理公共线程池,以及如何安全地关闭资源( try-with-resources)。最后——通过 FileChannel 进行定位访问,快速了解如何读取/写入大文件的部分。
    可用
  • 文件系统的并行遍历:Files.walk + parallel() 与 ForkJoin

    JAVA 25 SELF
    等级 59,课时 2
    如何加速遍历大型目录并处理成千上万的文件:使用 Files.walk() 和通过 parallel() 的并行流,理解 ForkJoinPool.commonPool() 的作用并配置并行度。讲解何时改用 ExecutorService, CPU-bound 与 IO-bound 任务的差异,编写在所有 ".java" 文件中统计行数的示例,并总结最佳实践。
    可用
  • 将大文件拆分为块

    JAVA 25 SELF
    等级 59,课时 3
    如何加速处理以 GB 计的大文件:把它们切成块(chunking),通过 FileChannel进行按位置访问,并使用内存映射缓冲区 MappedByteBuffer,再配合 ExecutorService并行计算。我们将讲解定位 I/O 的关键方法: position(...)、 read(...)、 write(...),如何选择合适的 chunk 大小,并行词数统计示例,以及常见陷阱(chunk 边界、资源管理、线程数量)。
    可用
  • 文件处理流水线:生产者–消费者

    JAVA 25 SELF
    等级 59,课时 4
    讲解如何按 BlockingQueue(例如 ArrayBlockingQueue)实现的 Producer–Consumer 模式来构建文件处理流水线,理解阻塞操作 put() 和 take() 的工作方式,为何需要 backpressure 机制,以及如何用“毒丸”(例如 "__END__",而不是 null)正确结束线程。通过 ExecutorService 启动消费者,添加流水线可视化并解析常见错误。
    可用
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