模仿echo命令学习NIO——Java实现

本文探讨了Java NIO(非阻塞IO)模型,解释了如何使用Reactor事件模型和Selector来提高底层数据传输性能。通过创建服务端和客户端类,展示了NIO在实际应用中的操作。NIO的使用在dubbo服务提供者中也有体现,它在服务端用多线程处理IO,阻塞与非阻塞配置位于服务端。
摘要由CSDN通过智能技术生成

一、NIO模型:同步非阻塞IO处理

在传统的Java环境里面,最初的程序需要依赖于JVM虚拟机技术。最早的时候由于虚拟机的性能较差,所以很少有人去关注通讯的速度问题,大部分的问题都出现在了CPU处理上。
但是随着硬件的性能提升,实际上CPU的处理速度加强了。所以从JDK 1.4开始就引入NIO的开发包,可以带来底层数据的传输性能。
在NIO之中采用了一个Reactor事件模型,注册的汇集点Selector
【NIO】烧水,不会一直傻站着看,你采用轮询的方式来观察水是否烧开。
模型

buffer

在这里插入图片描述

程序部分

首先创建一个服务端类:

public class NIOEchoServer {
    private static class EchoClientHandler implements Runnable {
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Think_Higher

你的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值