文章374
标签215
分类51
NIO相关基础篇之实战

NIO相关基础篇之实战

继前两篇介绍NIO的文章之后, 本篇主要是对之前NIO相关知识的实战. 实战内容包括:

  • FileChannel: 传统IO与NIO读取对比
  • SocketChannel: 服务端OIO与NIO对比(Selector和SelectionKey实现)
  • 内存映射文件: ByteBuffer和MappedByteBuffe对比
  • Scatter & Gatter
  • TransferFron & TransferTo
  • Pipe
  • DatagramChannel
  • ……

本文转自: Java NIO?看这一篇就够了!

代码实例: https://github.com/JasonkayZK/Java_Samples/tree/java-nio

NIO相关基础篇之操作系统I/O模型

NIO相关基础篇之操作系统I/O模型

本篇继上篇之后, 继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型下与NIO相关的知识, 主要包括:

  • 用户空间以及内核空间:
  • Linux 网络 I/O模型: Blocking I/O, Non-Blocking I/O, I/O Multiplexing, Signal Driven I/O, Asynchronous I/O
  • 五种I/O模型对比
  • 文件描述符fd以及Linux内核命令: select, poll, epoll等
  • Zero-Copy相关;
  • 直接内存
  • Selector空轮询在Netty中的处理:
  • ……
NIO相关基础篇之JDK

NIO相关基础篇之JDK

最近在看《Netty In Action》, 发现里面好多东西看不懂, 实际上是Java IO相关的知识太少了! 尤其是Java 1.4之后推出的NIO. 所以在网上搜集了资料, 在这里整理一下关于Java NIO的相关知识.

  • Java IO体系以及IO相关主题
  • 什么是NIO? NIO与OIO(Old IO)/IO的区别是什么?
  • Buffer(缓冲区): 视图缓存区类以及相关问题, Buffer的属性, 使用
  • Channel(通道): 通道的种类, 如何获取通道, 使用transferTo连接通道
  • FileLock(文件锁): 文件锁lock()与tryLock()
  • Selector(选择器): 选择器的种类与方法, SelectionKey的四个重要常量
  • 简单介绍AIO
  • …….

代码实例: https://github.com/JasonkayZK/Java_Samples/tree/java-nio