![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NIO
Zachary Guo China
这个作者很懒,什么都没留下…
展开
-
NIO - Buffer
[color=#345286] Buffer 类是 java.nio 的构造基础。一个 Buffer 对象是固定数量的数据的容器,其作用是一个存储器,或者分段运输区,在这里,数据可被存储并在之后用于检索。缓冲区可以被写满或释放。对于每个非布尔原始数据类型都有一个缓冲区类,即 [b]Buffer 的子类有:ByteBuffer、CharBuffer、DoubleBuffer、Float...原创 2012-03-19 21:38:27 · 115 阅读 · 0 评论 -
NIO - Channel Foundation
[color=#345286] 首先,我们来更近距离地看一下基本的 Channel 接口。[/color][color=#008000][b]Channel 接口的完整源码:[/b][/color][code="java"]package java.nio.channels;public interface Channel { public boolean ...原创 2012-03-26 21:26:45 · 79 阅读 · 0 评论 -
NIO - FileChannel
[color=#345286] 对于文件 I/O,最强大之处在于异步 I/O(asynchronous I/O),它允许一个进程可以从操作系统请求一个或多个 I/O 操作而不必等待这些操作的完成。发起请求的进程之后会收到它请求的 I/O 操作已完成的通知。异步 I/O 是一种高级性能,当前的很多操作系统都还不具备。[b]因此,文件通道在多数情况下来说总是阻塞式的,因此不能被置于非阻塞...原创 2012-03-30 18:23:49 · 66 阅读 · 0 评论 -
NIO - File Locking
[color=#345286] 在 JDK 1.4 版本之前,Java I/O 模型都未能提供文件锁定(file locking),缺少这一特性让人们很头疼。绝大多数现代操作系统早就有了文件锁定功能,而直到 JDK 1.4 版本发布时 Java 编程人员才可以使用文件锁(file lock)。[/color][color=#345286] 锁(lock)可以是共...原创 2012-03-30 18:35:00 · 158 阅读 · 0 评论 -
NIO - 内存映射文件
[color=#345286] 内存映射文件一直没弄明白,这几天在网上到处搜索,看了两篇文章,总算是弄明白了。在讲内存映射文件前,先讲讲 MMU 和内存映射到底是是什么。[/color][color=#345286] MMU 是 Memory Management Unit 的缩写,中文名是内存管理单元,它是中央处理器(CPU)中用来管理虚拟内存、物理内存的控制...原创 2012-03-31 20:29:45 · 189 阅读 · 0 评论 -
NIO - Socket 通道
[color=#345286] socket 通道有三个类:SocketChannel、ServerSocketChannel 和 DatagramChannel。请注意:DatagramChannel 和 SocketChannel 实现定义读和写功能的接口,而 ServerSocketChannel 不实现。ServerSocketChannel 负责监听传入的连接和创建新的 S...原创 2012-06-18 20:29:39 · 70 阅读 · 0 评论 -
NIO - 选择器基础
[color=#FF0000] [b][size=medium]◇ 选择器、可选择通道和选择键类[/size][/b][/color][color=#345286] 实际上,与选择器相关的类的 api 有三个,它们用于执行就绪选择:[/color][list][*] [color=#345286][b]选择器(Selector):[/b]选择器类管理着一个被注册...原创 2012-06-19 19:58:36 · 123 阅读 · 0 评论 -
NIO - 使用选择键
[color=#FF0000] [b][size=medium]◇ SelectionKey API[/size][/b][/color][color=#008000] [b]看看 SelectionKey 的相关 API 方法:[/b][/color][code="java"]package java.nio.channels;public abstract ...原创 2012-06-19 21:58:59 · 151 阅读 · 0 评论 -
NIO - 使用选择器
[color=#345286] 在详细了解 Selector API 之前,你需要知道一点和 Selector 内部工作原理相关的知识。就像在 [url=http://zachary-guo.iteye.com/blog/1564252]NIO - 使用选择键[/url] 中]探讨的那样,选择器维护着注册过的通道的集合,并且这些注册关系中的任意一个都是封装在 SelectionKey...原创 2012-06-21 20:54:32 · 103 阅读 · 0 评论