Netty学习

一、NIO概念
阻塞:需要等待缓冲区中的数据准备好后才处理其他的事情,否则一直等待。
非阻塞:进程访问数据缓冲区的,如数据没有准备好直接返回,不会等待;如数据已经准备好,也是直接返回。
同步:是应用程序要直接参与IO读写的操作。
异步:所有的IO读写交给操作系统去处理,应用程序只需要等待通知。

二、BIO
是一个同步并阻塞的IO模式,传统的java.io包,基于流模式实现。
交互方式是同步、阻塞的方式。

三、NIO
是一种同步非阻塞的I/O模型,对应java.nio包,提供了Channel、Selector、Buffer等抽象。
面向缓冲的,基于通道的I/O操作方法
特点:
一个线程可以处理多个通道,减少线程的创建数量
读写非阻塞,节约资源,没有可读/可写数据时,不会发生阻塞导致线程资源的浪费

四、Netty
是一个NIO客户端服务框架。
Channel是JavaNIO的一个基本构造,传入或者传出数据的载体
EventLoop定义了Netty的核心抽象,用来处理连接的生命周期中所发生的事件,在内部,将会为每个Channel分配一个EventLoop
EventLoopGroup是一个EventLoop池,包含很多的EventLoop
Netty为每个Channel分配了一个EventLoop,用于处理用户连接请求,对用户请求的处理等所有事件,EventLoop本身只是一个线程启动,在其生命周期内只会绑定一个线程,让该线程处理一个Channel的所有IO事件。
Netty 是一个异步的、基于事件驱动的网络应用框架,它可以用来开发高性能服务端和客户端。

相关推荐

  1. Netty学习

    2023-12-30 02:32:03       43 阅读
  2. netty-学习

    2023-12-30 02:32:03       10 阅读
  3. netty websocket学习

    2023-12-30 02:32:03       40 阅读
  4. Netty 学习笔记

    2023-12-30 02:32:03       42 阅读
  5. <span style='color:red;'>Netty</span>

    Netty

    2023-12-30 02:32:03      17 阅读
  6. <span style='color:red;'>Netty</span>

    Netty

    2023-12-30 02:32:03      9 阅读
  7. netty的继续学习一(相关概念)

    2023-12-30 02:32:03       13 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-30 02:32:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-30 02:32:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-30 02:32:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-30 02:32:03       20 阅读

热门阅读

  1. 聊一聊Spring Bean 的生命周期

    2023-12-30 02:32:03       36 阅读
  2. 【PHP】API传参时,判断数字最多两位小数

    2023-12-30 02:32:03       37 阅读
  3. 服务简介及问题答疑

    2023-12-30 02:32:03       34 阅读
  4. 小秋SLAM入门实战深度学习所有文章汇总

    2023-12-30 02:32:03       37 阅读
  5. 基于SpringBoot的社区物资交易互助平台

    2023-12-30 02:32:03       39 阅读