Java中的IO流
Java中的IO一直都是我的薄弱项, 所以今天就来总结一下Java中的IOStream
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相关话题内容,主要谈谈一些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
最近在看《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