首页 > 其他 > 详细

vivo面试学习1(io和nio)

时间:2018-09-23 21:31:37      阅读:117      评论:0      收藏:0      [点我收藏+]

一、io流(一次从open到底层的操作)

输入和输出流

IO流
字节流 Reader、Writer
字符流 InputStream、OutputStream

 

 

 

字节流:可以处理所有bit为单位存储的文件,也就是说可以处理所有的文件,但是在处理字符上的速度不如字符流

字符流:只能处理字符,但处理字符的能力很快 

一次读文件的操作:

采用FileInputStream的read()方法,每次从源文件中读取512个字节,存储在缓冲区buffer中,再将以buffer中的值构造的字符串new String(buffer)显示在屏幕上。

一次写文件的操作:

采用System.in.read(buffer)从键盘输入一行文字,存储在缓冲区buffer中,再用FileOutStream的write()方法,将buffer中的内容写入文件write.txt中。 

二、NIO

IO和NIO的区别
  IO NIO
对象 面向流 面向缓冲
是否阻塞
    selector监视Channel

 

 

 

 

 

 Java NIO的选择器允许一个单独的线程来监视多个输入通道。

只要Channel向Selector注册了Channel向Selector注册了某种特定的事件,Selector就会监听这个事件是否发生,一旦发生某个事件,便会通知对应的Channel。

使用选择器,借助单一线程,就可对数量庞大的i/o通道实施监控和维护。

vivo面试学习1(io和nio)

原文:https://www.cnblogs.com/nickup/p/9693477.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!