标签:图片 buffers segment int tis puts 硬骨头 面试题 线程管理
IO流学习总结
(1) 按操作方式分类结构图:
(2)按操作对象分类结构图
IO流的分类:
流的原理浅析:
java Io流共涉及40多个类,这些类看上去很杂乱,但实际上很有规则,而且彼此之间存在非常紧密的联系, Java Io流的40多个类都是从如下4个抽象类基类中派生出来的。
NIO学习总结
Java NIO 是 java 1.4, 之后新出的一套IO接口NIO中的N可以理解为Non-blocking,不单纯是New。
NIO的特性/NIO与IO区别:
读数据和写数据方式:
NIO核心组件简单介绍
Buffer(缓冲区)介绍:
Buffer的常见方法
Buffer的使用方式/方法介绍:
分配缓冲区(Allocating a Buffer):
ByteBuffer buf = ByteBuffer.allocate(28);//以ByteBuffer为例子
写入数据到缓冲区(Writing Data to a Buffer)
写数据到Buffer有两种方法:
1.从Channel中写数据到Buffer
int bytesRead = inChannel.read(buf); //read into buffer.
2.通过put写数据:
buf.put(127);
说实话,NIO编程真的难,通过后面这个测试例子,你可能才能勉强理解前面说的Buffer方法的作用。
Channel(通道)介绍
Scatter / Gather
通道之间的数据传输
Selector(选择器)介绍
Selector(选择器)的使用方法介绍
Selector selector = Selector.open();
channel.configureBlocking(false);
SelectionKey key = channel.register(selector, Selectionkey.OP_READ);
一个SelectionKey键表示了一个特定的通道对象和一个特定的选择器对象之间的注册关系。
选择器维护注册过的通道的集合,并且这种注册关系都被封装在SelectionKey当中.
wakeup()方法 和close()方法。
有了模板代码我们在编写程序时,大多数时间都是在模板代码中添加相应的业务代码。
一 文件I/O基石:Path:
二 拥抱Files类:
标签:图片 buffers segment int tis puts 硬骨头 面试题 线程管理
原文地址:https://www.cnblogs.com/kakaisgood/p/12186514.html