Java网络编程系列之NIO
- 1.Java NIO概述
- 2.Java NIO(Channel)
- 3.Java NIO(Buffer)
- 4.Java NIO(Selector)
- 5.Java NIO(Pipe和FileLock)
- 6.Java NIO(其他)
1.Java NIO概述
1.1 阻塞IO
1.2 非阻塞IO
1.3 NIO概述
1.3.1 Channels
1.3.2 Buffer
1.3.3 Selector
2.Java NIO(Channel)
2.1Channel概述
2.2 Channel实现
2.3 FileChannel 介绍与示例
2.4 FileChannel 操作详解
2.4.1 打开FileChannel
2.4.2 从FileChannel读取数据
2.4.3 向FileChannel写数据
2.4.4 关闭FileChannel
2.4.5 FileChannel的position方法
2.4.6 FileChannel的size方法
2.4.7 FileChannel的truncate方法
2.4.8 FileChannel的force方法
2.4.9 FileChannel的transferTo和transferFrom方法
2.5 Socket通道
3.5.1 ServerSocketChannel
3.5.2 SocketChannel
3.5.2.1 SocketChannel介绍
3.5.2.2 SocketChannel 特征
3.5.2.3 SocketChannel 使用
3.5.3 DatagarmChennel
2.6 Scatter和Gather
2.6.1 Scattering Reads
2.6.2 Gathering Writes
3.Java NIO(Buffer)
3.1 Buffer简介
3.2 Buffer的基本用法
3.3 Buffer 的 capacity、position 和limit
capacity
position
limit
3.4 Buffer 的类型
3.5Buffer 分配和写数据
3.5.1 Buffer 分配
3.5.2 向Buffer中 写数据
3.5.3 flip()方法
3.6 从 Buffer 中读取数据
3.7 Buffer几个方法
3.7.1 rewind()方法
3.7.2 clear()与 compact)方法
3.7.3 mark()与 reset()方法
3.8 缓冲区操作
3.8.1 缓冲区分片
3.8.2 只读缓冲区
3.8.3 直接缓冲区
3.8.4 内存映射文件I/O
4.Java NIO(Selector)
4.1 Selector简介
4.1.1. Selector和Channel关系
4.1.2.可选择通道(SelectableChannel)
4.1.3 Chanel注册到Seletor
4.1.4 选择键(SelectionKey)
4.2 Selector的使用方法
4.2.1 Selector的创建
4.2.2 注册Channel到Selector
4.2.3 轮询查询就绪操作
4.2.4 停止选择的方法
4.3 示例代码
4.3.1 服务端代码
4.3.2 客户端代码
5.Java NIO(Pipe和FileLock)
5.1 Pipe
5.1.1 创建管道
5.1.2 写入管道
5.1.3 从管道读取数据
5.2 FileLock
5.2.1 FileLock简介
5.2.2 文件锁分类
5.2.3 使用示例
5.2.4 获取文件锁方法
5.2.5 lock与trylock的区别
5.2.6 FileLock两个方法
5.2.7 完整例子
6.Java NIO(其他)
6.1 Path
6.1.1 Path简介
6.1.2 创建Path实例
6.1.3 创建绝对路径
6.1.4 创建相对路径
6.1.5 Path.normalize()
6.2 Files
6.2.1 Files.createDirectory()
6.2.2 Files.copy()
6.2.3 Files.move()
6.2.4 Files.delete()
6.2.5 Files.walkFileTree()
6.3 AsynchronousFileChannel
6.3.1 创建AsynchronousFileChannel