今天爱分享给大家带来java 里面的 io 跟 nio 有什么区别?【面试题详解】,希望能够帮助到大家。
1、Java NIO 和 IO 之间第一个最大的区别是,IO 是面向流的,NIO 是面向缓冲区的。
2、Java IO 的各种流是阻塞的。而 Java NIO 的非阻塞模式,使一个线程从某通道发送
请求读取数据,但是它仅能得到目前可用的数据,如果目前没有数据可用时,就什么都不会
获取。而不是保持线程阻塞,所以直至数据变的可以读取之前,该线程可以继续做其他的事
情。
3、选择器上,Java IO 无选择器,而 NIO 有选择器,Java NIO 的选择器允许一个单独
的线程来监视多个输入通道,你可以注册多个通道使用一个选择器,然后使用一个单独的线
程来“选择”通道:这些通道里已经有可以处理的输入,或者选择已准备写入的通道。