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. 示例。
已有104人预订
预订达标
文章出炉
     
09月30日
10月12日
本场 Chat 文章已出炉,购买后即可阅读文章并获得一张蒋老湿的读者圈Pass
请务必添加GitChat服务号以查看活动进度及获取活动通知。
退款保证:
• 10月05日前,预订人数未达标,您将获得全额退款。
• 作者未按时完成文章,您将获得全额退款。
你可能还喜欢
1小时搞懂 Git 版本控制
Fengy
基于深度学习的计算机视觉技术在无人驾驶中的应用
美团技术团队
AutoML 在推荐系统中的应用
第四范式技术团队
今夜,我们聊聊中国的开源
开源社
玩转 Python 网络爬虫:QQ 音乐全站爬虫开发
Xy
再谈基于 Kafka 和 ZooKeeper 的分布式消息队列原理
应书澜
统一认证与授权在微服务架构中的设计与实战
CANGWU
Elasticsearch 实战应用系列
桃花惜春风
老系统微服务改造经验谈
老顽童
Java 进阶之路:从 Lock 指令前缀切入,解读 Java Volatile、CAS 及 Automic 包
Dora
我们如何衡量一个微服务实施的成功
顾宇
如何构建游戏安全护城河
网易移动安全技术团队
奇葩代码虐我千百遍,我却待它如初恋
Spencer
如何半小时搞定3小时的工作&漫谈极速提升开发效率
是我是我就是我
Java NIO 框架 Netty 之美:源码剖析之一
追梦
微信扫描登录