`

nio基础

    博客分类:
  • mina
 
阅读更多

        了解mina,nio是不可缺少的。

 1.nio的基本概念:

(1)Buffer:Buffer 类是一个抽象类。有7个基本的数据类型的子类,包括ByteBuffer、CharBuffer、DoubleBuffer、FloatBuffer、IntBuffer、LongBuffer 和ShortBuffer。可以将Buffer对象看到数据容器。其中,mina中的IoBuffer就是ByteBuffer类的一种改进。

(2)Channel:重点理解SelectableChannel以及继承于它的ServerSockectChannel及SockectChannel,各类Channel 实现在各类Buffer 与各类I/O 服务间传输数据。

(3)Selector:选择器是实现并发型非阻塞I/O 的核心,各种可选择的通道将其感兴趣的事件注册到Selector 对象上。

而事件SelectionKe类则封装了SelectableChannel 对象在Selector 中的注册信息

(4)SelectionKey:包括接受操作、连接操作、读出操作、写入操作,SelectionKey。OP_***分别对应Channel的几种操作例如connect()、accept()、read()、write()。

分享到:
评论

相关推荐

    【IT十八掌徐培成】Java基础第26天-04.NIO基础.zip

    在这个课程中,IT十八掌徐培成老师将深入讲解Java NIO的基础知识。 NIO的核心组件主要包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。首先,通道是数据传输的路径,它可以读写数据,比如文件通道、...

    Java springboot 整合mina 框架,nio通讯基础教程,mina框架基础教程.zip

    在这个压缩包中,包含了“Java_NIO基础视频教程”和“MINA视频教程”,你可以通过观看这些教程,了解和学习NIO和Mina的基本用法。同时,“Netty快速入门视频(52im.net).txt”虽然不是直接与Mina相关的,但Netty也是...

    Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码]-附件资源

    Java NIO基础视频教程、MINA视频教程、Netty快速入门视频 [有源码]-附件资源

    httpcore-nio-4.3.jar包

    2. **Java NIO基础** Java NIO(New IO)是Java 1.4引入的一套新的I/O API,替代了传统的BIO(Blocking IO)。NIO的核心概念包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。通道可以读写数据,缓冲区...

    NIO与零拷贝_javanio_nio和零拷贝_

    1. **NIO基础** - **通道(Channels)**:通道类似于流,但它是双向的,可以读也可以写。常见的通道有FileChannel、SocketChannel、ServerSocketChannel等。 - **缓冲区(Buffers)**:NIO的核心组件,用于存储...

    NIO项目源码.zip

    1. NIO基础概念 - Channel(通道):NIO的核心组件,它代表了数据传输的路径,如文件、套接字等。通道是双向的,可以同时进行读写操作。 - Buffer(缓冲区):在NIO中,数据总是先被写入Buffer,然后从Buffer读取...

    《NIO与Socket编程技术指南》_高洪岩

    1. NIO基础:介绍NIO的基本概念,如通道、缓冲区、选择器以及它们之间的交互。 2. 文件操作:讲解如何使用NIO进行文件的读写操作,包括文件通道和MappedByteBuffer的使用。 3. 非阻塞I/O:对比NIO和BIO,解释非阻塞I...

    NIO实现邮件接收原码

    1. **NIO基础** - **通道**:通道是数据传输的路径,它可以读取或写入数据,比如SocketChannel、FileChannel等。 - **缓冲区**:缓冲区是NIO的核心,它是数据的容器,提供了读写数据的方法,并且有自动管理内存的...

    java NIO技巧及原理

    **Java NIO基础概念:** 1. **通道(Channel)**:类似于流,但可以双向传输数据,如FileChannel、SocketChannel等。 2. **缓冲区(Buffer)**:用于在通道和应用程序之间存储数据,提供了更高效的访问方式。 3. **...

    java NIO推送实例

    1. **Java NIO基础** - **通道(Channels)**:Java NIO 提供了多种通道,如文件通道、套接字通道等,它们代表不同类型的I/O操作。 - **缓冲区(Buffers)**:数据在通道和应用程序之间传输时会存储在缓冲区中,...

    NIO trick and trap NIO网络

    #### NIO基础概览 - **变迁历程**:NIO的概念最早由JSR 51提出,在JDK 1.4中首次引入。随后随着JSR 203的发展,NIO 2.0在JDK 7中正式发布。 - **核心组件**:主要包括Buffers(缓冲区)、Channels(通道)和...

    java nio im(server+client)

    1. **NIO基础概念** - **通道(Channel)**:在NIO中,数据是通过通道进行传输的。通道类似于流,但可以同时进行读写操作。 - **缓冲区(Buffer)**:数据在传输前会先存储在缓冲区中,缓冲区提供了一种方式来管理...

    java-nio.rar_NIO_java nio

    1. **NIO基础** - **通道(Channels)**:NIO中的通道类似于流,但它们是双向的,可以读写数据。常见的通道类有FileChannel、SocketChannel和ServerSocketChannel等。 - **缓冲区(Buffers)**:缓冲区是数据的...

    Java NIO非阻塞服务端与客户端相互通信

    1. **Java NIO基础** - **通道(Channels)**:NIO中的通道类似于传统IO的流,但它们可以同时读写,并且支持非阻塞操作。 - **缓冲区(Buffers)**:NIO中的数据操作都在缓冲区上进行,这是NIO的主要特性之一,...

    java nio 聊天室源码

    1. **Java NIO基础** - **通道(Channel)**:在NIO中,数据是通过通道进行传输的,如SocketChannel、ServerSocketChannel、FileChannel等。它们是双向的,可以读也可以写。 - **缓冲区(Buffer)**:NIO的核心组件,...

    nio入门文档及示例代码

    一、NIO基础概念 1. **通道(Channels)**:NIO的核心组件之一,它是连接到数据源(如文件、套接字)的通道,可以读写数据。常见的通道类有FileChannel、SocketChannel、ServerSocketChannel等。 2. **缓冲区...

    基于NIO的群聊.zip

    1. **NIO基础概念**: - **通道(Channels)**:NIO的核心组件之一,它提供了数据传输的路径。Java NIO提供多种类型的通道,如SocketChannel、ServerSocketChannel、FileChannel等。 - **缓冲区(Buffers)**:...

    NIO按行读取数据

    1. **NIO基础知识**: - **FileInputStream**:这是Java IO中的类,用于读取文件内容。 - **FileChannel**:NIO中的核心组件,允许通过通道进行高效的数据传输。 - **MappedByteBuffer**:文件映射缓冲区,它允许...

Global site tag (gtag.js) - Google Analytics