栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JAVA IO

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JAVA IO

Stream

包括字符流(Reader, Writer),字节流(InputStream, OutputStream).

前者的操作经过缓冲区再操作文件, 后者直接操作文件。

BIO

同步阻塞IO, NIO出现之前主要使用BIO以及新建线程的方式解决并发请求。

下面是BIO的经典编程模型

while循环不断调用accpet, 阻塞式的获取建立的连接,当方法返回时,创建新线程对socket进行处理。

适用于连接的数量不大时,比如单机1000以下。

NIO

Java NIO的三个核心组件:Channel, Buffer, Selector,底层模型是IO多路复用模型(Reactor模型)。

Channel包括 FileChannel, DatagramChannel, SocketChannel, SocketServerChannel

对应文件IO、UDP和TCP(Server和Client)

数据从buffer写入channel, 或从channel读入buffer。MappedByteBuffer采用内存映射文件的方式处理输入输出, 把文件的一段区域映射到虚拟内存中,可以像访问内存一样访问文件适合处理大文件。

Selector监听多个channel的事件,实现IO的多路复用。在linux系统下调用的是epoll/select

AIO

异步非阻塞的IO,方法调用后立刻返回,由操作系统来执行某个操作,在操作完成状态改变时通知对应的线程,进行处理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/755736.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号