深入理解Netty源码编程-(2)NIO基础


1.Netty是什么

1.1 简介

  • Netty是一个Java开源框架,现为Github上的独立项目
  • Netty是一个异步的、基于事件驱动的网络应用框架,用以快速开发高性能、高可靠性的网络I/O编程
  • Netty主要针对在TCP协议下,面向Clients端的高并发应用,或者Peer to Peer场景下的大量数据持续传输的应用
  • Netty本质是一个NIO框架,适用于服务器通讯相关的多种应用

2.IO模型

3.Netty三大组件

3.1 Channel & Buffer

Channel有一点类似于stream,它就是读写数据的双向通道,可以channel将数据读入buffer,也可以将buffer写入到channel,而之前的stream要么是input,要么是output,channel比stream更为底层

常见的channel有:

  • FileChannel(文件管道)
  • DatagramChannel(数据报管道,UDP)
  • serverSocketChannel(TCP)
  • ServerSocketChannel(TCP)

buffer则是用来缓冲读写数据的,常见的buffer有:

  • ByteBuffer(以字节为单位存储数据的缓冲区)
    • MappedByteBuffer
    • DirectByteBuffer
    • HeapByteBuffer
  • ShortBuffer
  • IntBuffer
  • LongBuffer
  • FloatBuffer
  • DoubleBuffer

文章作者: 穿山甲
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 穿山甲 !
  目录