NIO简介
创始人
2025-06-01 08:33:05
0

NIO

三大组件

Channel & Buffer

channel有点类似于stream,它是读写数据的双向通道,可以从channel将数据读入buffer,也可以将buffer的数据写入channel,而之间文件操作使用的stream要么是输入,要么是输出,channel比stream更为底层。

常见的Channel
  • FileChannel:用于操作文件
  • DatagramChannel:用于UDP协议
  • SocketChannel:用于TCP协议
  • ServerSocketChannel:用于TCP协议
常见的Buffer
  • ByteBuffer
    • MappedByteBuffer
    • DirectByteBuffer
    • HeapByteBuffer
  • ShortBuffer
  • IntBuffer
  • LongBuffer
  • FloatBuffer
  • DoubleBuffer
  • CharBuffer
Selector
传统多线程版服务器程序设计

在这里插入图片描述

服务器会为每个客户端创建新的线程与套接字进行会话

缺点
  • 内存占用高

  • 线程上下文切换成本高

    与cpu有直接关系,cpu线程数表示当前可并行的线程数量,唤醒状态的线程失去cpu时间片段后需要保存当前的线程执行信息(例如指令执行到哪一行等)

  • 只适合连接数少的场景

线程池版服务器程序设计

在这里插入图片描述

客户端需要等待线程池有空闲线程时才能继续处理请求

缺点
  • 阻塞模式下,线程仅能处理一个socket连接
  • 仅适合短连接场景
Selector版服务器设计

selector的作用就是配合一个线程来管理多个channel,获取这些channel上发生的事件,这些channel工作在非阻塞模式下,不会让线程吊死在一个channel上。适合连接数特别多,但流量低的场景

在这里插入图片描述

调用selector的select()方法会阻塞直到channel发生了读写就绪事件,这些事件发生,select方法就会返回这些事件交给thread来处理

相关内容

热门资讯

金价、银价再创新高 国际白银期价逼近每盎司80美元 多种贵金属期价创新高 受避险需求增加等因素拉动,国际黄金、白银价格...
万亿资金规模!大利好来了 【导读】国家创业投资引导基金正式启动运行 中国基金报记者 张舟 重磅利好来了! 今天,国家创业投资引...
贾国龙后悔晚了吗 文/王慧莹 编辑/子夜 这三个月,西贝创始人贾国龙没睡过几个好觉。 连续40天吃安眠药入睡,每天有处...
贡山县市场监督管理局食品安全消... 岁末年初,节庆欢聚氛围渐浓,食品采购、聚餐宴请等消费需求大幅攀升,食品安全风险也随之增加。为守护大家...
关于政府性融资担保,四部门联合... 为进一步发挥政府性融资担保体系增信分险作用,引导更多金融资源精准支持就业创业,财政部日前会同人力资源...
原创 扎... 说句实在话,现在很多人一聊房地产,张口就是“库存太高”“房价太贵”。 好像只要把房子清掉、价格打下来...
邮储银行、民生银行、华夏银行等... 中国金融网 | 石红 2025年12月中下旬,金融行业迎来一波密集的核心岗位人事调整,覆盖国有大行、...
原创 帮... 朋友们,一个历史性的数据刚刚出炉!国内ETF总规模已突破6万亿元!关键是,它在2025年一年内,连跨...
年终盘点|2025年全球彩电市... 在全球彩电市场整体销量微跌的情况下,2025年中国头部企业的市场份额继续逆势上扬,TCL、海信“双雄...
原创 楼... 全国住房城乡建设工作会议刚刚落幕,将房地产工作重点从“持续用力推动房地产市场止跌回稳”调整为“着力稳...
宇树机器人模拟动作测试,突然给... 据环球网,当地时间12月27日,特斯拉Cybertruck首席工程师在社交媒体转发了一段中国宇树G1...
高效小红书聚光投放推荐,开启营... 在当今数字化营销的浪潮中,小红书聚光投放凭借其独特的优势,成为众多企业和品牌竞相追逐的营销利器。今天...
商络电子跌1.25%,成交额2... 来源:新浪证券-红岸工作室 12月26日,商络电子跌1.25%,成交额2.11亿元,换手率3.38%...
国家带头,再干一件大事 12月26日,国家创业投资引导基金正式启动。 谭主了解到,该基金最大的特点,是针对科技领域“投早投小...
离谱!女子把豆包生成的照片当证... 诉讼唯信,举证唯真,司法公正容不得半点弄虚作假。近日,湖北孝感大悟法院民二庭在审理一起房屋租赁合同纠...
解码产业蓝图 畅通融资路径——... 近日,阜阳市民建企联会举办“思源·大讲堂”,活动聚焦地方产业发展、企业融资需求及党派履职担当,内容丰...
九万里:全球货币政策为何出现明... 2025年岁末,全球金融市场出现“超级央行周”。 从12月10日开始,美国、日本、英国、欧盟、俄罗斯...
1.65万户股东沸腾,3004... 12月29日至12月31日期间,有17股解禁市值超亿元。 12月26日晚间,*ST新元(30047...
每周股票复盘:中信银行(601... 截至2025年12月26日收盘,中信银行(601998)报收于7.42元,较上周的7.46元下跌0....