Java NIO 的三个核心组件实例解析

作者/分享人:蒋老湿
向 Ta 提问
多年互联网从业经验,一直在java领域深耕,对分布式服务框架、高并发等都有深入研究,参与过消费金融管理系统、二代支付系统等项目的开发。熟悉项目管理领域,追求专业和高效。

Java NIO(New IO 或者 Non Blocking IO),从 Java 1.4 版本开始引入的非阻塞 IO,用于替换标准(有些文章也称为传统,或者 Blocking IO。下文统称为 BIO)Java IO API 的 IO API。

Java NIO 由以下几个核心部分组成:

  • Channels
  • Buffers
  • Selectors

虽然 Java NIO 中除此之外还有很多类和组件,但在我看来,Channel,Buffer 和 Selector 构成了核心的API。其它组件,如Pipe和FileLock,只不过是与三个核心组件共同使用的工具类。

因此,本场 Chat 我将分享:

  1. NIO 和 BIO 的对比;
  2. NIO 和 AIO 的对比;
  3. Channel 的实现;
  4. 向 Buffer 写入数据;
  5. 从 Buffer 读取数据;
  6. 创建 Selector;
  7. 注册 Chanel 到 Selector 中;
  8. 获取可操作的 Channel;
  9. 示例。
已有112人预订
预订达标
文章出炉
     
09月30日
10月12日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张蒋老湿的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
你可能还喜欢
如何设计一个灵活的 MySQL 数据表,应对灵活多变的需求
李岩
Jenkins 自动化构建部署实战
火币集团研发中心
Java 程序员应掌握的 Nginx 实战应用
JPM
带你玩转 JSON
能量架构师
Python Pandas 做数据分析之玩转 Excel 报表分析
WinterLeo
小程序从入门到进阶
loonglong
实战剖析 Java 秒杀系统的实现
虎口脱险
从零搭建 Hadoop 集群
杨爵爷
实战讲解接口自动化测试思路
金刚
Java 并发面试题解
Eric Chen
一篇文章读懂 MySQL 中的锁
张宏杰
成功微服务实施的技术演进
顾宇
电商项目可扩展性数据库设计与实现
丹丹
Linux 脚本攻略一(基础知识点)
无人驾驶
从 Word Embedding 到 Bert:一起肢解 Bert!
武博士
微信扫描登录