Java语言对操作系统的模型,你知道多少?
创始人
2024-03-17 00:35:03

Java语言对操作系统的模型,你知道多少?本篇我们来一起学习下。

Java 语言对操作系统的NIO模型的特点

NIO的特点:事件驱动模型、单线程处理多任务、非阻塞I/O,I/O读写不再阻塞,而是返回0、基于block的传输比基于流的传输更高效、更高级的IO函数zero-copy、IO多路复用大大提高了Java网络应用的可伸缩性和实用性。基于Reactor线程模型。

Java 语言对操作系统的BIO模型和NIO模型的区别

BIO是面向流的,NIO是面向缓冲区的;BIO的各种流是阻塞的。而NIO是非阻塞的;BIO的Stream是单向的,而NIO的channel是双向的。

Java 语言对操作系统的AIO 模型

AIO:一个有效请求一个线程,客户端的I/O请求都是由OS先完成了再通知服务器应用去启动线程进行处理

Java 语言对操作系统的NIO 模型

NIO:一个请求一个线程,但客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求时才启动一个线程进行处理。

Java 语言对操作系统的BIO 模型

BIO:一个连接一个线程,客户端有连接请求时服务器端就需要启动一个线程进行处理。线程开销大。

NIO的服务端建立过程具体是

NIO的服务端建立过程:Selector.open():打开一个Selector;ServerSocketChannel.open():创建服务端的Channel;bind():绑定到某个端口上。并配置非阻塞模式;register():注册Channel和关注的事件到Selector上;select()轮询拿到已经就绪的事件

相关内容

热门资讯

中科飞测股价涨5.06%,天弘... 2月3日,中科飞测涨5.06%,截至发稿,报187.00元/股,成交8.01亿元,换手率1.76%,...
中科飞测股价涨5.06%,申万... 2月3日,中科飞测涨5.06%,截至发稿,报187.00元/股,成交8.01亿元,换手率1.76%,...
中科飞测股价涨5.06%,银华... 2月3日,中科飞测涨5.06%,截至发稿,报187.00元/股,成交8.02亿元,换手率1.76%,...
中科飞测股价涨5.06%,信达... 2月3日,中科飞测涨5.06%,截至发稿,报187.00元/股,成交8.04亿元,换手率1.76%,...
旗滨集团股价涨5.25%,华夏... 2月3日,旗滨集团涨5.25%,截至发稿,报7.02元/股,成交3.37亿元,换手率1.66%,总市...