流是一组有顺序的字节集合,是对数据传输的总称或抽象。
流有输入和输出,输入时是流从数据源流向程序。输出时是流从程序传向数据源,而数据源可以是内存,文件,网络或程序等。
An asynchronous I/O operation does not cause the requesting process to be blocked.
一个同步的io操作会导致发起请求的进程阻塞直到这个io操作完成。一个异步的io操作不会导致请求的线程被阻塞。
同步:用户线程和io线程做同一件事(用户线程被阻塞,等待内核返回处理结果)
异步:用户线程和io线程做不同的事情(用户线程不被阻塞,做其他的事情,内核处理完成发送结果给用户线程)
文件描述符
在Linux下面一切皆文件。文件描述符(file descriptor)是内核为文件所创建的索引,所有I/O操作都通过调用文件描述符(索引)来执行,包括下面我们要提到的socket。Linux刚启动的时候会自动设置0是标准输入,1是标准输出,2是标准错误。
以上就是java io为什么重要的详细内容,更多请关注其它相关文章!