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()轮询拿到已经就绪的事件

相关内容

热门资讯

芝麻AI速递:昨夜今晨财经热点... 金融市场犹如变幻莫测的海洋,时刻涌动着投资与经济政策的波澜,深刻影响着全球经济的走向。在此,芝麻AI...
法国“戴高乐”号航母抵达阿拉伯... △“戴高乐”号航空母舰(资料图)法国国防部部长级代表爱丽丝·吕福15日接受采访时说,法国海军“戴高乐...
铜仁市出台促进“劳动者技能提升... 转自:贵州日报 本报讯(记者 王太师)铜仁市日前印发《铜仁市促进劳动者技能提升十条措施》,明确聚焦工...
WTI 6月原油期货收涨4.2... 格隆汇5月16日|WTI 6月原油期货收涨4.25美元,涨幅4.20%,报105.42美元/桶。布伦...
巴勒斯坦“灾难日”当天,以空袭... (来源:上观新闻)5月15日是第78个巴勒斯坦“灾难日”。以色列当晚空袭加沙地带,造成至少7人死亡、...