Java.nio使用总结(一)——使用简述

本文深入探讨了Java NIO (New IO) 的核心概念与使用,对比传统IO,NIO提供了一种非阻塞的IO操作方式,极大提升了应用程序的效率和并发能力。文章详细介绍了ByteBuffer、ServerSocketChannel、SocketChannel等关键类的作用和用法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Java.nio使用总结(一)——使用简述

类图

首先让我们先看看今天的主角们的关系
ByteBuffer
ByteBuffer
ServerSocketChannel
在这里插入图片描述
SocketChannel
在这里插入图片描述

为什么会存在Java.nio?

前看

在学习nio这个包之前,先让我们了解一下为什么要学习nio,或者说什么nio。
首先让看一下这个包的名称nio,故名思意其意义便是New IO,即新的IO包。其是区别于我们之前的IO包的。

nio vs io

下面就让我们了解一下nio和io的最大区别————nio为非阻塞的io,而io则为阻塞的io。

那么何为阻塞io?何为非阻塞io?
==阻塞io==:在程序执行io操作时,程序等待io操作执行完毕(文件/数据读取结束),之后再进行其他的操作
(继续顺序执行下面的代码)
==非阻塞io==:在程序执行io操作时,程序不去等待io操作完结(无法返回值/不返回值),便去执行下面的代码。

代码中的体现便是(使用伪代码进行表示,假定io输出为”你好 世界“):

   【io包中】
    r = io.read()
    sout(r)
    sout("Hello World")
   /**输出结果为 
   你好 世界
   Hello World
   */
   【nio中】
   r = io.read()
   sout(r)
   sout("Hello World")
   /**输出结果(可能)为
   Hello World
   */
从以上的两个例子中我们不难看出java中,io和nio中的读写操作的区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值