80-10-010-原理-Java NIO-简介

128 篇文章 426 订阅 ¥49.90 ¥99.00
Java NIO 包括核心概念Selector、Channel和Buffer,强调面向块编程,Buffer作为内存块进行数据读写。Channel是双向的,不同于流的单向性。Buffer提供了结构化访问数据并跟踪读写状态,有多种类型的Buffer对应不同的原生数据类型。零拷贝技术在直接内存DirectBuffer中体现,减少数据在用户态和内核态之间的拷贝,提高效率。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1.概述

java . io中最为核心的一个概念是流(Stream) ,面向流的编程。Java中,-个流要么是输入流,要么是输出流,不可能同时既是输入流又是输出流。
​ java. nio中拥有3个核心概念: Selector, Channel与Buffer. 在java.nio中,我们是面向块(block) 或是缓冲区(buffer) 编程的。Buffer本身就是一块内存, 底层实现上,它实际上是个数组。数据的读、写都是通过Buffer来实现的。
​ 除了数组之外,Buffer还提供了对于数据的结构化访问方式,并且可以追踪到系统的读写过程。
Java中的8种原生数据类型都有各自对应的Buffer类型,如IntBuffer, LongBuffer , ByteBuffer 及CharBuffer等等。
​ Channel指的是可以向其写入数据或是从中读取数据的对象,它类似于java . io中的Stream。所有数据的读写都是通过Buffer来进行的,永远不会出现直接向Channe1写入数据的情况, 或是直接从Channe1读取数据的情况。
​ 与Stream不同的是,Channe1是双向的, - 个流只可能是InputStream或是0ut

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值