![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
NIO
赤城白彗星
当你还不能写出自己满意的程序时,你就不要去睡觉
展开
-
Java NIO (一)
I/O即输入输出,指的是计算机和外界的接口,或者是单个程序同计算机其他部分的接口。 在Java1.4之前的I/O系统中,提供的都是面向流的I/O系统,系统每次处理一个字节,输入流(input stream)生产一个字节,输出流(output stream)消费一个字节。这种工作模式下,非常容易给流数据创建过滤器(filters),而且也很容易将多个过滤器串起来,每个过滤器针对流过自己的字节做相应处...转载 2018-05-11 15:38:43 · 112 阅读 · 0 评论 -
Java NIO和IO的区别
下表总结了Java NIO和IO之间的主要差别,我会更详细地描述表中每部分的差异。 复制代码代码如下: IO NIO 面向流 面向缓冲 阻塞IO 非阻塞IO 无 选择器 面向流与面向缓冲 Java NIO和IO之间第一个最大的区别是,IO是面向流的,NIO是面向缓冲区的。 Jav...转载 2018-05-19 23:12:56 · 478 阅读 · 0 评论 -
Java NIO (二)
在上一篇中,我们介绍了NIO中的两个核心对象:缓冲区和通道。本文为NIO入门学习的第二篇,将会分析NIO中的缓冲区Buffer的内部原理。 在谈到缓冲区时,我们说缓冲区对象本质上是一个数组,但它其实是一个特殊的数组,缓冲区对象内置了一些机制,能够跟踪和记录缓冲区的状态变化情况,如果我们使用get()方法从缓冲区获取数据或者使用put()方法把数据写入缓冲区,都会引起缓冲区状态的变化。 在缓冲区...转载 2018-05-14 09:37:14 · 107 阅读 · 0 评论 -
Java NIO (三)
在上一篇中介绍了缓冲区的原理,下面来介绍NIO中另一个核心对象选择器(Selector)以及NIO的原理。 在Client/Server模型中,Server往往需要同时处理大量来自Client的访问请求,因此Server端需采用支持高并发访问的架构。一种简单而又直接的解决方案是“one-thread-per-connection”。这是一种基于阻塞式I/O的多线程模型。在该模型中,Server为...转载 2018-05-14 10:17:33 · 139 阅读 · 0 评论