NIO与阻塞IO的性能测试
NIO:
noi也叫新io,主要有channel(通道),buffer(缓冲区)和sellector(选择器)这三个核心部分组成。
阻塞IO
阻塞IO就是JDK类库自带的IO
NIO和阻塞的区别
1.NIO面向缓冲区读取数据,IO面向stream读取数据
2.NIO速度更快
3.NIO是非阻塞的,也就是说线程还没有把数据读取完,可以做其它的事情(适用与异步调用,且不需要开多线程)
性能测试最终结果
阻塞IO读写时间:3090毫秒
NIO读写时间:11毫秒
阻塞IO用bufferStream读写时间:22毫秒
package com.saturn.crawler.common.jd;
import java.io.*;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class TestNIO {
public static void main(String[] args){
//传统io读写文件
readAndwirteForIo();
//nio读写文件
readAndwirteForNio();
//使用传统io推荐的BufferStream
readAndwirteForBufferStreamIo();
}
private static void readAndwirteForNio() {