Java NIO之一 NIO和IO的区别 通道(Channel)和缓冲区(Buffer)

文章目录

    • Java NIO
    • Java NIO与IO的主要区别
    • 通道(Channel)和缓冲区(Buffer)

Java NIO

Java NIO(New IO) 是从Java 1.4版本开始引入的一个新的IO API,可以代替标准的Java IO API。 NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。

  1. 传统IO : 面向流
    Java NIO之一 NIO和IO的区别 通道(Channel)和缓冲区(Buffer)_第1张图片
  2. NIO(New IO ) : 面向缓冲区
    Java NIO之一 NIO和IO的区别 通道(Channel)和缓冲区(Buffer)_第2张图片

Java NIO与IO的主要区别

  1. 这些主要的区别都是针对于网络编程来说也 也就是 套接字(socket)编程
IO NIO
面向流(Stream Oriented) 面向缓冲区(Buffer Oriented)
阻塞IO(Blocking IO) 非阻塞IO(Non Blocking IO)
选择器(Selectors)

通道(Channel)和缓冲区(Buffer)

  1. Java NIO系统的核心在于:通道(Channel)和缓冲区(Buffer)。通道表示打开到IO设备(例如:文件、套接字)的连接。若需要使用NIO系统,需要获取用于连接IO设备的通道已经用于容纳数据的缓冲区。然后操作缓冲区,对数据进行处理。

注: Channel负责传输,Buffer负责存储

你可能感兴趣的:(NIO)