zoukankan      html  css  js  c++  java
  • Java NIO Overview(二)

    原文链接:http://tutorials.jenkov.com/java-nio/overview.html,如有侵权,立删。

    Java NIO Overview

      Java NIO包含以下部件:

    1. Channels
    2. Buffers
    3. Selectors

      Java NIO由很多类和组件组成,但是channel和buffer还有selector是Java NIO的核心。还有一些 Pipe 和 FileLock等,这些都是辅助这三个核心的部件,所以不用初学不用可以深入。

     Channel and Buffers

      典型的,所有IO在NIO中都是从channel开始的。Channel有点像Stream。从channel可以读取数据到buffer中,也可以从buffer中将数据写到channel中。

                            

      这里有一些channel和buffer的类型:

    1. FileChannel
    2. DatagramChannel
    3. SocketChannel
    4. ServerSocketChannel
    5. ByteBuffer
    6. CharBuffer
    7. DoubleBuffer
    8. FloatBuffer
    9. IntBuffer
    10. LongBuffer
    11. ShortBuffer

      正如你所见的,channel包括了UDP+TCP、networking IO,和File IO。这些buufer类型覆盖了你能向IO传输的基本数据类型:byte、char、short、int、long、float、double

      Java NIO还有一种类型 MappedByteBuffer,这是和内存文件映射有关。

     Selectors

      selector允许一个线程掌控多个channel。如果你的应用有多个connection(channel)时,使用selector是非常便利的。适用于每个连接的流量都很少的情况,例如聊天室。

                            

      为了使用selector,你可以向他注册多个channel。之后调用select()方法,这个方法将会阻塞,直到有一个已经为channel准备好的事件。一旦这个方法返回,线程就可以控制其他事件了,例如引入连接,数据接收等

      

  • 相关阅读:
    项目中docker swarm实践
    Spring的分模块开发的配置
    单点登录
    在服务器搭建git服务器
    Learn Git Lesson06
    kafka Poll轮询机制与消费者组的重平衡分区策略剖析
    gulp初体验
    vue-cli3中axios如何跨域请求以及axios封装
    vue-cli3中怎么配置vue.config.js文件
    svn的下载与安装,使用,包教包会!!!
  • 原文地址:https://www.cnblogs.com/AI-Cobe/p/10019632.html
Copyright © 2011-2022 走看看