博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NIO 入门(1)(from Jakob Jenkov)
阅读量:3751 次
发布时间:2019-05-22

本文共 525 字,大约阅读时间需要 1 分钟。

本系列是NIO基础的译篇,原文地址请戳:

Java NIO (新NIO)是JavaIO的替代(从Java1.4 开始)。JavaNIO提供了一种有别的旧的标准IO的新的IO方式。

JavaNIO:Channels(通道)和(Buffers)缓冲

在旧IO的API中主要用到字节流、字符流,而在NIO中用到channels\Buffers 。数据总是从一个channel读到buffer,或者从一个buffer写到channel。

JavaNIO: 非阻塞IO

JavaNIO可以提供非阻塞的IO方式。比如说,一个线程能够让一个channel把数据读入buffer,当这个过程正在进行中的时候,线程还可以做别的事情,而不是傻傻等待。一旦数据被读入到buffer中,线程立马继续处理。这个过程对写数据到channel的过程也是成立的。

JavaNIO: Selectors 多路复用器(不推荐翻译成“选择器”)

JavaNIO涵盖了“多路复用器”的概念。一个Selector能够同时监控(monitor)多个channels上的事件(比如打开connection连接,数据到达等等),因此,即使是单线程也能监控多通道。

下面请看JavaNIO系列的细节。

转载地址:http://gwnsn.baihongyu.com/

你可能感兴趣的文章
蓝桥杯 15校4-7对数字 今有7对数字:两个1,两个2,两个3,...两个7,把它们排成一行。 要求,两个1间有1个其它数字,两个2间有2个其它数字,以此类推,两个7之间有7个其它数字。如下就是
查看>>
蓝桥杯真题 17省10-k倍区间 给定一个长度为N的数列,A1, A2, ... AN,如果其中一段连续的子序列Ai, Ai+1, ... Aj(i <= j)之和是K的倍数,我们就称这个区间[i
查看>>
TCP协议的流量控制
查看>>
TCP连接的三次握手过程,为什么不是两次或四次?
查看>>
小白都能看懂的DNS解析过程
查看>>
HTTP和HTTPS的区别?描述HTTPS的工作过程
查看>>
简述一下HTTP的状态码
查看>>
20210227vulhub靶场之环境配置---无法获得靶机IP的疑难解决方式(可以解决VBox和VMware不兼容问题)
查看>>
20210226web渗透学习之SSRF总结
查看>>
2021-06-01web渗透学习之sqlserver提权(转)
查看>>
大数据之Flume
查看>>
关于高可用配置hbase中出现的问题:Name or service not known
查看>>
centOs7下hadoop3.2.2namenode故障不自动转移
查看>>
在高可用的hive下执行bin/schematool -dbType mysql -initSchema报错
查看>>
hbase配置高可用
查看>>
linux下卸载和安装mysql
查看>>
在初始化namenode时:java.net.NoRouteToHostException: 没有到主机的路由;
查看>>
hive-hbase
查看>>
浅谈scala-API的基础概念及简单例子
查看>>
spark的历史服务器配置
查看>>