**
* JAVA NIO
* NIO称为非阻塞IO。读写的过程中不会发生阻塞线程
* 我们之前所学习的流,称为BIO:阻塞是IO,就是在读写的过程中可能会发生阻塞现象。
*/
public class NIODemo1 {
public static void main(String[] args) throws IOException {
/*
非阻塞IO面向Channel("通道")的,不是面向Stream(流)的。
流的特点:方向单一,顺序读写。流要么是输入流用于顺序读取数据,要么是输出流用于顺序写出数据
Channel的特点:双向的,既可以读又可以写。
JAVA NIO核心API:
Channel 通道,常见的实现:
FileChannel:文件通道,可对文件进行读写操作
SocketChannel:套接字通道,可以与远端计算机进行TCP读写操作
ServerSocketChannel:服务端的套接字通道,用于监听客户端的连接
Buffer缓冲区,通道是对缓冲区中的数据进行读写操作
常见的缓冲区实现
ByteBuffer:字节缓冲区,缓冲区内部内容都是字节
*/
//BIO的文件复制操作,使用流的方式进行复制
// FileInputStream fis = new FileInputStream("movie.wmv");
// FileOutputStream fos = new FileOutputStream("movie_cp.wmv");
// byte[] buffer = new byte[1024*10];//创建一个字节数组作为缓冲区
//
java NIO称为非阻塞IO。读写的过程中不会发生阻塞线程
最新推荐文章于 2022-10-16 17:32:20 发布
本文深入探讨Java NIO(非阻塞IO)的概念,解释在读写操作中如何避免线程阻塞,提升系统并发性能。通过学习,你将了解NIO的工作原理及其在实际应用中的优势。
摘要由CSDN通过智能技术生成