Java NIO核心组件简介详解编程语言
2023-06-13 09:20:45 时间
整个NIO体系包含的类远远不止这几个,但是在笔者看来Channels,Buffer和Selector组成了这个核心的API。其他的一些组件,比如Pipe和FileLock仅仅只作为上述三个的负责类。因此在概览这一节中,会重点关注这三个概念。其他的组件会在各自的部分单独介绍。
通道和缓冲区(Channels and Buffers)通常来说NIO中的所有IO都是从Channel开始的。Channel和流有点类似。通过Channel,我们即可以从Channel把数据写到Buffer中,也可以把数据冲Buffer写入到Channel。
有很多的Channel,Buffer类型。下面列举了主要的几种:
正如你看到的,这些channel基于于UDP和TCP的网络IO,以及文件IO。 和这些类一起的还有其他一些比较有趣的接口,在本节中暂时不多介绍。为了简洁起见,我们会在必要的时候引入这些概念。 下面是核心的Buffer实现类的列表:
这些Buffer涵盖了可以通过IO操作的基础类型:byte,short,int,long,float,double以及characters. NIO实际上还包含一种MappedBytesBuffer,一般用于和内存映射的文件。
选择器(Selectors)选择器允许单线程操作多个通道。如果你的程序中有大量的链接,同时每个链接的IO带宽不高的话,这个特性将会非常有帮助。
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/15755.html
c相关文章
- java用什么编译器_Java用Java编译「建议收藏」
- java简单的除法运算_Java除法运算的陷阱[通俗易懂]
- java nio_(一) Java NIO 概述[通俗易懂]
- Java基础知识总结(超详细整理),java从入门到精通pdf「建议收藏」
- 编写java判断闰年_Java 判断闰年代码实例
- java oracle数据备份_Java实现Oracle数据库备份
- java jersey使用总结_jersey Java Jersey配置「建议收藏」
- Java 动态代理的两种方式及其优缺点
- rtsp 获取视频流 java_浏览器无插件播放rtsp视频流 java后台 + js + html
- Java容器(三):LinkedList源码分析详解编程语言
- Java文件读写操作具体代码实现详解编程语言
- 使用Java在Linux系统上开发:一步步安装全部组件(java环境linux)
- Java里的Redis事务处理(redis事务java)
- Linux与Java:驱动着计算未来(linux与java)
- 清理Redis Java定时过期清理策略(redisjava过期)
- Art of Illusion是一个用Java语言写成的基于GPL v2的开源三维建模和渲染软件,可以创建高质量的具有真实感的三维模型。它使用方便,可以对纹理和材料等效果进行编辑,可以产生具有真实感的图像。
- Linux下Java命令的使用方法简介(linux下java命令)
- Java如何在Linux下运行?(java执行linux)
- Java程序调用Linux系统命令实现更多功能(java调用linux命令)
- 安装Oracle JDK 从Java进入下一个级别(oracle下载java)
- Java并发编程示例(六):等待线程执行终止