Java NIO系列1-概观

Java NIO系列1-概观,第1张

概述Java NIO系列1 概观 Java NIO。中间的N你既可以理解为(new),也就是新的IO,相对于java1.5之前的IO它确实是新的;也可以理解为(no blocking),也就是非阻塞的IO Java NIO系列1-概观

Java NIO。中间的N你既可以理解为(new),也就是新的IO,相对于java1.5之前的IO它确实是新的;也可以理解为(no-blocking),也就是非阻塞的IO。

Java NIO的包和类

从Java 文档中可以看到,Java NIO的主要有这些包:

java.niojava.nio.channelsjava.nio.channels.spijava.nio.charsetjava.nio.charset.spijava.nio.file...

Java NIO具有这么多的包,每个包下面有具有许多的类。java.nio包下定义了一些各种类型的缓冲区,java.nio.channels类里边定义了一些通道如ServerChannel,ServerSocketChannel。java.nio.file下定义写了一些新的文件 *** 作API,诸如Paths,files等。但是核心的主要是下面三个:

Channel 通道Buffer 缓冲区Selector 选择器通道和缓冲区

在JavaNIO中,通道和缓冲区是很重要的部分,因为数据是通过这两个组件来流转的。数据可以从一个通道流向缓冲区,也可以从缓冲区流向通道。

JavaNIO中主要有以下通道:

类名用途
fileChannel文件IO *** 作
DatagramChannelUDP网络IO
SocketChannel
ServerSocketChannelTCP网络IO

这些类涵盖了,TCP,UDP网络IO.和文件IO.

Java NIO中的buffer,java中的众多buffer具有多种类型,使得我们可以通过IO来传递byte,short,int,double,float,long和字符串。ByteBuffer、CharBuffer、DoubleBuffer、floatBuffer、IntBuffer等。

选择器

前面我们提到,JavaNIO中重要的三个元素:通道,缓冲区,选择器。选择器是这样的一种东西:可以使单个线程处理多个通道。举个例子,假如我们有三个通道,我们将这三个通道注册在一个选择器上,然后线程让选择器来告诉他哪个线程准备就绪,可以“使用”了。

事实上,你可以不使用选择器,不使用这个“可以让单个线程 *** 作多个通道”的玩意。你依然可以使用单个线程处理单个通道。但是仔细想想就会发现,选择器的好处还是很多的。

本篇,这里我们大概了解了一下JavaNIO是什么,主要包含什么东西,后续的文章再对每一个组件进行详细的介绍,并结合代码示例。

总结

以上是内存溢出为你收集整理的Java NIO系列1-概观全部内容,希望文章能够帮你解决Java NIO系列1-概观所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1209792.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存