NIO与IO的理解
来源:互联网 发布:数据员每天工作内容 编辑:程序博客网 时间:2024/04/29 12:44
public class App {/** * io * @throws Exception */@Test public void test_1() throws Exception{FileInputStream is = new FileInputStream("D:/test.txt");byte[] buffer = new byte[1024]; is.read(buffer); System.out.println(new String(buffer)); is.close(); }/** * nio框架就是把用户缓冲区映射到系统缓冲区。也是面向块的io数据处理 * FileChannel * ByteBuffer * * @throws Exception */@Testpublic void test_2()throws Exception{FileInputStream is = new FileInputStream("D:/test.txt");//为该文件输入流生成唯一的文件通道FileChannel channel = is.getChannel();//开辟一个长度为1024的字节缓冲区ByteBuffer buffer = ByteBuffer.allocate(1024);channel.read(buffer);System.out.println(new String(buffer.array()));System.out.println(buffer.isDirect()+","+buffer.isReadOnly()); channel.close();is.close();}}
在大文件或者初次读写小文件的情况下:NIO在性能上明显比IO性能好;
但是二次读写的情况下:NIO基本不变、IO性能有很大提升;这涉及到底层的具体实现,
传统IO是从磁盘到内核缓存区再到用户缓存区
NIO是内核缓冲区与用户缓冲区有一个映射。
0 0
- NIO与IO的理解
- Java NIO:IO与NIO的区别
- Java NIO:IO与NIO的区别
- nio简单demo,帮助理解io与nio区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- NIO与IO的区别
- IO与NIO的区别
- IO与NIO的区别
- NIO与IO的区别
- IO与NIO的区别
- NIO与IO的区别与使用
- Java的NIO与IO的区别
- Spring MVC之@RequestParam @RequestBody @RequestHeader 等详解
- Linux安装jdk
- Linux学习总结(六): 正则表达式
- Fresco 与 Picasso 、Glide 的比较
- 【GCC调试程序C语言问题】error: initializer-string for array of chars is too long [-fpermissive]
- NIO与IO的理解
- 前端性能优化--避免大规模、复杂的布局
- 安装Go 1.x (x ≥ 5)
- PHP魔术方法总结
- 用JADE创建多agent系统
- Java将图片作为二进制进行保存和读取
- 构建自己的工具库--jar包的构建
- iOS项目开发中,对后台返回数据为<null>时候的处理,避免取值产生程序崩溃问题
- Binary Tree Zigzag Level Order Traversal