IO和NIO

本文深入探讨Java中的NIO,对比传统IO,介绍NIO的四大核心组件:Buffer、Charset、Channels,以及NIO的三大特性:分散与聚集读取、文件锁定功能、网络异步IO。了解NIO如何提升数据处理效率。

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

Java世界中的两类IO:IO(性能瓶颈)和NIO以及jdk1.7中要加入的增强版NIO

•IO:面向流的方式处理数据(单个的字节,字符的移动,流的一次操作一次只能产生或者消费一个字节或者字符即使有缓冲,也需要程序员自己填充和提取缓冲区内容)
•NIO:面向块的方式处理数据(数据块的移动,一次操作产生或者消费一个数据块,将最耗时的 I/O 操作–填充和提取缓冲区内容操作转移回操作系统

NIO的特点:NIO包引入了四个关键的抽象数据类型

1)Buffer
它是包含数据且用于读写的线形表结构(字节数组)。其中还提供了一个特殊类用于内存映射文件的I/O操作。一个 Buffer 实质上是一个容器对象。发送给一个通道的所有对象都必须首先放到缓冲区中。
同样地,从通道中读取的任何数据都要读到缓冲区中。
2)Charset
它提供Unicode字符串影射到字节序列以及逆影射的操作(编码及解码器)。
3)Channels
通道是对原 I/O 包中的流的模拟。到任何目的地(或来自任何地方)的所有数据都必须通过一个 Channel 对象包含socket,file和pipe三种管道,它实际上是双向交流的通道(与流的不同之处在)。
在这里插入图片描述

NIO的三大特性

1、分散与聚集读取
2、文件锁定功能
3、网络异步IO

Java NIO的几个相关概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后一点:NIO对于互联公司的价值

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值