当前位置: 首页 > news >正文

Netty主要组件

:
在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。

组件一 NioEventLoop

在它的底层封装了Selector, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。

组件二 NioServerSocketChannel NioSocketChannel
一个是服务端通道, 一个是客户端通道,接收客户端连接和处理数据读写都是通过通道进行的。

组件三 ChannelPipeline
每个Channel都与唯一的一个Pipeline关联. 当Channel读取到数据以后,后续的具体操作都交给管道Pipeline去进行。

组件四 Handler
在ChannelPipeline中可以放入用户自定义的Handler,用于具体的业务处理, 这里面也包括解码器编码器这两种重要的Handler。

当然以上四个是最重要的组件, 比较重要的组件或类还包括以下一些:

启动类ServerBootstrap
负责底层数据的读写类Unsafe
具体的线程类FastThreadLocalThread
线程池NioEventLoopGroup
存放数据的容器ByteBuf

学习这些组件先不要深入细节, 先有个大概的概念, 每个组件具体做啥, 然后把它们串联起来, 加深对Netty整体架构的理解。
然后再回过来深入到每个组件的细节, 反作用加深理解整个架构.

 

相关文章:

Netty主要组件

: 在Netty中有很多重要的组件, 每个组件职业不同, 担负不同的功能。 组件一 NioEventLoop 在它的底层封装了Selector, 实现多路复用, 由唯一绑定的一个线程去进行三大步骤循环操作: 监听事件,处理事件,执行任务。 组件二 NioServerSocketChannel NioSocketChannel 一个是服务…...

Linux系统【centos7】常用基础命令教程

今天我来介绍一下Linux系统的基础知识。 首先,我们需要了解Linux是什么。Linux是一种免费且开放源代码的操作系统,它被广泛用于服务器、移动设备和嵌入式系统。 接下来,我们需要了解基本的Linux命令。其中一些基本命令包括: 1.…...

【Redis学习】Redis入门概述

Redis是什么 Redis:REmote Dictionary Server(远程字典服务器) 官网介绍:The open source, in-memory data store used by millions of developers as a database, cache, streaming engine, and message broker.(被数百万开发人员用作数据库、缓存、流…...

nodejs微服务:Consul集群

Consule集群 1 )概述 Consul是HashiCorp 公司推出的开源工具,用于实现分布式系统的服务发现与配置Consul是分布式的、高可用的、可横向扩展的, 完成consul的安装后,必须运行agentagent可以运行为 server模式、client模式, 每个数据中心至少…...

spring事务处理

系列文章目录 Spring中事务的处理相关内容的学习 文章目录系列文章目录前言一、Spring事务简介二、案例:银行账户转账1.题目要求和思路分析2.实现步骤3.实现结构三、spring事务角色四、spring事务相关配置五、案例:转账业务追加日志1.题目要求和思路分析…...

2023 年博客之星的入围规则

目的 感谢各位博主和社区的大力支持,我们的博客之星活动成为了 IT界非常知名的博主荣誉的象征,博主在这个过程中也给大家贡献了很多优质内容。 在过去的几年中,博主们给我们博客之星活动提了很多建议,其中最强烈的一点就是&#…...

【新2023Q2押题JAVA】华为OD机试 - 查找树中的元素 or 查找二叉树节点

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:查找树中的元素 or 查找二叉树…...

MySQL 日志:undo log、redo log、binlog 有什么用?

目录一、bin log1.作用2.刷盘时机3.日志格式二、redo log1.为什么需要redo log2.基本概念3.作用3.刷盘时机三、undo log1.作用四、Mysql的时机顺序五、redo log 与 binlog 的两阶段提交六、总结一、bin log 1.作用 MySQL的bin log日志是用来记录MySQL中增删改时的记录日志。 …...

ETL 与 ELT的关键区别

ETL 和 ELT 之间的主要区别在于数据转换发生的时间和地点 — 这些变化可能看起来很小,但会产生很大的影响! ETL 和 ELT 是数据团队引入、转换并最终向利益干系人公开数据的两种主要方式。它们是与现代云数据仓库和 ETL 工具的开发并行发展的流程。 在任…...

Thinkphp 6.0模版的杂项和表单令牌

本节课我们来学习一下模版的杂项和表单令牌的功能。 一.模版的杂项 1. 有时,我们需要输出类似模版标签或语法的数据,这时会被模版解析; 2. 此时,我们就使用模版的原样输出标签{literal}; {literal} 变量标…...

linux常问

查看当前进程 ps -l 列出与本次登录有关的进程信息; ps -aux 查询内存中进程信息; ps -aux | grep * 查询 *进程的详细信息; top 查看内存中进程的动态信息; kill -9 pid 杀死进程。...

ToBeWritten之物联网MQTT、Z-Wave等协议

也许每个人出生的时候都以为这世界都是为他一个人而存在的,当他发现自己错的时候,他便开始长大 少走了弯路,也就错过了风景,无论如何,感谢经历 转移发布平台通知:将不再在CSDN博客发布新文章,敬…...

C# 行为型模式之责任链模式

责任链模式:请求从链中的一个对象传递到下一个对象,直到请求被响应为止。通过这种方式在对象之间去除耦合。 用途:请假审批、采购审批等。 案例介绍:以公司采购东西为例子来实现责任链模式。公司规定,采购架构总价在…...

layui实现请求前添加一个加载 loading 的效果,并在请求成功后关闭

1.使用 layui 的 layer 组件来实现请求前添加一个加载 loading 的效果,并在请求成功后关闭。 $("#switch").click(function() {layer.confirm(确认切换至英文环境?, function(index) {var loadingIndex layer.load(1, {shade: [0.1,#fff] //0.1透明度的…...

iostat / sar 命令详解

作用 iostat主要用于监控系统设备的IO负载情况&#xff0c;根据这个可以看出当前系统的写入量和读取量&#xff0c;CPU负载和磁盘负载。 iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 iostat用法 1.用法&#xff1a;iostat [选项] [<时间间隔>] […...

2023-04-06:拥抱Golang,优化FFmpeg音频编码器,探究encode_audio.c的内部结构。

2023-04-06&#xff1a;拥抱Golang&#xff0c;优化FFmpeg音频编码器&#xff0c;探究encode_audio.c的内部结构。 答案2023-04-06&#xff1a; 见moonfdd/ffmpeg-go库。 这段代码是一个示例程序&#xff0c;用于将音频 PCM 数据编码为 MP2 格式的音频文件。下面是代码的详细…...

归排、计排深度理解

归并排序&#xff1a;是创建在归并操作上的一种有效的排序算法。算法是采用分治法&#xff08;Divide and Conquer&#xff09;的一个非常典型的应用&#xff0c;且各层分治递归可以同时进行。归并排序思路简单&#xff0c;速度仅次于快速排序&#xff0c;为稳定排序算法&#…...

设计原则(单一职责原则 开放封闭原则 里氏替换原则 依赖倒置原则 接口隔离原则 迪米特法则)

设计原则单一职责原则(SRP)从三大特性角度看原则:应用的设计模式&#xff1a;开放封闭原则(OCP)从三大特性角度看原则:应用的设计模式&#xff1a;里氏替换原则(LSP)从三大特性角度看原则:应用的设计模式&#xff1a;依赖倒置原则(DIP)从三大特性角度看原则:应用的设计模式&…...

好像模拟了一个引力场

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 做一个网络让输入只有3个节点&#xff0c;每个训练集里有4张图片&#xff0c;让B的训练集全为0&#xff0c;排列组合A&#xff0c;观察迭代次数平均值的变化。 A-B 迭代次数 0 1 0 2*0*0*7-0*0*0*0 12957.31 0 0 0 2*0*0*7-0*0…...

MySQL优化——Explain分析执行计划详解

文章目录前言一. 查看SQL执行频率二. 定位低效率执行SQL三. explain分析执行计划3.1 id3.2 select_type3.3 table3.4 type3.5 key3.6 rows3.7 extra四. show profile分析SQL前言 在应用的的开发过程中&#xff0c;由于初期数据量小&#xff0c;开发人员写 SQL 语句时更重视功能…...

AzurLaneLive2DExtract:碧蓝航线Live2D资源提取的完整指南

AzurLaneLive2DExtract&#xff1a;碧蓝航线Live2D资源提取的完整指南 【免费下载链接】AzurLaneLive2DExtract OBSOLETE - see readme / 碧蓝航线Live2D提取 项目地址: https://gitcode.com/gh_mirrors/az/AzurLaneLive2DExtract 想要从碧蓝航线游戏中提取精美的Live2D…...

overwrite

编写overwrite.c程序#inlcude<stdio.h> int main() {int b 123;int c 789;int a 456;char s[100];printf("%p\n", &a);scanf("%s", s);printf(s);if (a 16){puts("my name is c");}else if (a 2){puts("my name is small&qu…...

抖音批量下载助手:5分钟学会个人主页视频一键批量保存完整指南

抖音批量下载助手&#xff1a;5分钟学会个人主页视频一键批量保存完整指南 【免费下载链接】douyinhelper 抖音批量下载助手 项目地址: https://gitcode.com/gh_mirrors/do/douyinhelper 在当前短视频盛行的时代&#xff0c;抖音作为内容创作的宝库&#xff0c;汇聚了海…...

算力基石:CPU、GPU与嵌入式AI的技术逻辑与融合发展

在人工智能全面普及的时代&#xff0c;算力已经成为数字产业发展的核心驱动力。从日常使用的智能手机、家用电脑&#xff0c;到云端大模型、智能汽车、工业传感设备&#xff0c;各类智能终端的运转都离不开处理器的算力支撑。其中&#xff0c;CPU作为通用计算核心、GPU作为并行…...

CST仿真入门实战:Dipole天线结果解读与关键参数分析

1. Dipole天线仿真结果初探 第一次打开CST仿真软件完成Dipole天线仿真后&#xff0c;面对密密麻麻的结果图表&#xff0c;相信很多人都会感到无从下手。我刚开始接触电磁仿真时也是这样&#xff0c;盯着那些S参数曲线和远场辐射图发愣。其实读懂这些结果并不难&#xff0c;关键…...

Redis Sentinel:主从架构的自动保镖详解

Redis 哨兵&#xff08;Sentinel&#xff09;&#xff1a;主从架构的「自动保镖」 在 Redis 主从复制经典架构当中&#xff0c;主节点&#xff08;Master&#xff09;全权负责集群读写核心请求处理&#xff0c;从节点&#xff08;Slave&#xff09;仅专注于实时同步主节点数据&…...

Frenet Corridor Planner:自动驾驶路径规划的核心技术解析

1. Frenet Corridor Planner&#xff1a;自动驾驶路径规划的核心突破在自动驾驶技术栈中&#xff0c;路径规划模块承担着将决策指令转化为可执行轨迹的关键角色。面对城市道路中突然出现的占道车辆或行人&#xff0c;传统基于固定路径的规划方法往往显得力不从心。Frenet Corri…...

AI 编程能力实战基准测试报告:编程能力评估体系 (Programming Capability Benchmark)

&#x1f916; AI 编程能力实战基准测试报告&#xff1a;编程能力评估体系 (Programming Capability Benchmark) 文件目标: 一份用于评估当前顶级生成式模型&#xff08;如GPT-5.5, Claude 4.7, Deepseek V4等&#xff09;实际软件开发能力和系统级思维的权威指南。 核心原则: …...

数据投毒太多,尝试把资料搬进本地知识库

说实话&#xff0c;这几天没睡好。上周翻到一个新闻&#xff0c;看得我后背发凉——谷歌首次发现攻击者用AI开发“零日漏洞”攻击工具。不是概念验证&#xff0c;是真实案例。攻击者拿AI绕过双重认证&#xff0c;代码写得跟教科书似的&#xff0c;还带“幻觉”出来的CVSS评分。…...

数学科研效率提升300%,NotebookLM辅助建模全流程解析,含独家提示词矩阵与误差校验协议

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;NotebookLM数学研究辅助的范式革命 传统数学研究长期依赖纸笔推演、孤立文献查阅与手工公式验证&#xff0c;而NotebookLM通过其独特的“语义锚点双文档协同推理”机制&#xff0c;重构了从问题建模到定…...