码迷,mamicode.com
首页 > 其他好文 > 详细

vivo面试学习1(io和nio)

时间:2018-09-23 22:40:20      阅读:385      评论:0      收藏:0      [点我收藏+]

标签:color   线程   文字   输出   存储   处理   注册   sys   java   

一、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)

标签:color   线程   文字   输出   存储   处理   注册   sys   java   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!