码迷,mamicode.com
首页 > Web开发 > 详细

Netty:一、网络编程

时间:2020-09-17 21:06:34      阅读:48      评论:0      收藏:0      [点我收藏+]

标签:获取   多路复用   tab   key   bio   byte   float   poll   弹性   

BIO通信模型图

技术图片

缺点:缺乏弹性伸缩能力,线程是非常宝贵的资源,为每个请求创建、销毁线程会在请求数膨胀时出现性能问题,甚至堆栈溢出、创建线程失败,最终导致进程宕机。

改进用线程池

技术图片

NIO的关键概念

缓冲区Buffer

  • ByteBuffer(最常用)
  • CharBuffer
  • ShortBuffer
  • IntBuffer
  • LongBuffer
  • FloatBuffer
  • DoubleBuffer

通道Channel

  • SelectableChannel:针对网络读写
  • FileChannel:针对文件

多路复用器Selector

Selector会不断轮询在其上注册的Channel,如果某个Channel上面有新的TCP连接接入、读和写事件,这个Channel就处于就绪状态,会被Selector轮询出来,然后通过SelectionKey可以获取就绪Channel的集合,进行后续的I/O操作。JDK使用epoll()实现多路复用。

Netty:一、网络编程

标签:获取   多路复用   tab   key   bio   byte   float   poll   弹性   

原文地址:https://www.cnblogs.com/fcb-it/p/13644075.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!