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

相关内容

热门资讯

全球资本为何“链”上北京? 近日,2026中关村论坛年会期间,2026年投资北京大会举行。34个重大项目集中签约,总金额达619...
伊朗首都遭大规模袭击,以色列:... CCTV国际时讯  新华社据CCTV国际时讯,当地时间今天(3月28日)凌晨,伊朗首都德黑兰多地遭多...
4月7日开赛,最低票价48元!... 公众号转载太原发布稿件,须申请授权。3月27日,WTT(世界乒乓球职业大联盟)常规挑战赛太原站202...
亿纬锂能申请正极极片相关专利,... 3月28日消息,国家知识产权局信息显示,惠州亿纬锂能(维权)股份有限公司申请一项名为“一种正极极片及...
亿纬锂能申请负极片制备相关专利... 3月28日消息,国家知识产权局信息显示,惠州亿纬锂能(维权)股份有限公司申请一项名为“负极片及其制备...