CANopen java反射机制 Transformer 工厂模式 winforms api codeigniter cocoa fonts stack rspec path routing vue网站模板 支付网站建设 pmp视频 java设计模式视频 jq绑定click事件 mysql默认密码 dplayer不能全屏 ubuntu显示隐藏文件夹 oracle时间格式化 kubernetes入门 python集合 python3网络编程 python自学教程 java8特性 java函数 java数组添加 java匿名对象 javastringbuilder java日期格式化 java停止线程 java字符串操作 javalist转数组 魔兽世界字体包 德鲁伊武器 shutil 如何强行退出小米账号 电脑手机模拟器
当前位置: 首页 > 学习教程  > 编程语言

为什么NIO的性能比IO好?

2020/7/24 9:29:00 文章标签:

我目前已知的原因只有这1个: 就是由于NIO采用缓冲区+通道的方式来传输数据, 而不是IO包的以字节或字符为单元传输数据, 增加了一次处理数据的字节数, 而且这种方式更接近于底层操作系统的IO方式, 所以速度明显优于IO;

1.io是面向流的,也就是读取数据的时候是从流上逐个读取,所以数据不能进行整体以为,没有缓冲区;nio是面向缓冲区的,数据是存储在缓冲区中,读取数据是在缓冲区中进行,所以进行数据的偏移操作更加方便
2,io是阻塞的,当一个线程操作io时如果当前没有数据可读,那么线程阻塞,nio由于是对通道操作io,所以是非阻塞,当一个通道无数据可读,可切换通道处理其他io
3,nio有selecter选择器,就是线程通过选择器可以选择多个通道,而io只能处理一个


本文链接: http://www.dtmao.cc/news_show_50085.shtml

附件下载

上一篇:java学习基础-1

下一篇:详解IoC 和 AOP

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?