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

【技术】《Netty》从零开始学netty源码(四十一)之PoolChunk

PoolChunk

我们再回顾以下netty中与内存相关的类:
在这里插入图片描述

前面我们已经分析了PoolSubpag,本章我们分析PoolChunk,先看下它的属性值:

在这里插入图片描述

为了更好的理解这些属性值,我们结合它的构造函数来理解,具体的源码如下:
在这里插入图片描述

其中:

  1. runsAvail
  2. runsAvailMap
  3. initHandle
  4. insertAvailRun方法

会具体分析,本篇先分析initHandle。

initHandle

在前面分析PoolSubpage的时候我们知道handle是一个指针,代表分配的内存的位置,具体格式如下:

在这里插入图片描述

从图中我们可以看到左起的33位(0为初始位)已经被占用,记录page个数的为第34~48位,所以初始的iniHandle = pages * 2的34位,即代码中的pages << SIZE_SHIFT,默认的pages为512(2的9次方),所以默认的iniHandle为2的43次方(8796093022208),如下图:

在这里插入图片描述

至此,PoolChunk的部分分析到此结束。

全文完,如果觉得文章有点意思,不妨点个“赞”或者“在看”吧,您的每一份正反馈都是对三横兰写作的最大肯定,感谢阅读_

​每天坚持一点点,每天进步一点点

坚持是日复一日,质变需日积月累

我是三横兰,那个三横的兰

相关文章:

【技术】《Netty》从零开始学netty源码(四十一)之PoolChunk

PoolChunk 我们再回顾以下netty中与内存相关的类&#xff1a; 前面我们已经分析了PoolSubpag&#xff0c;本章我们分析PoolChunk,先看下它的属性值&#xff1a; 为了更好的理解这些属性值&#xff0c;我们结合它的构造函数来理解&#xff0c;具体的源码如下&#xff1a; 其…...

新建虚拟机更改ip(连接xshell)

# 查看网络设备 [rootcentos79 ~]# nmcli device DEVICE TYPE STATE CONNECTION ens32 ethernet 已连接 ens32 ens33 ethernet 已连接 ens33 virbr0 bridge 已连接 virbr0 lo loopback 未托管 -- # 查看…...

什么是VBST和PVST?两者有啥区别?

在计算机网络中&#xff0c;VLAN&#xff08;Virtual Local Area Network&#xff0c;虚拟局域网&#xff09;是一种将局域网划分为多个逻辑上独立的子网的技术&#xff0c;它可以帮助网络管理员更好地管理网络资源。 在VLAN技术中&#xff0c;STP&#xff08;Spanning Tree P…...

记录-JavaScript常规加密技术

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 当今Web开发中&#xff0c;数据安全是一个至关重要的问题&#xff0c;为了确保数据的安全性&#xff0c;我们需要使用加密技术。JavaScript作为一种客户端编程语言&#xff0c;可以很好地为数据进行加…...

二十三、高级网络技术及应用——BFD解析

文章目录 前言一、BFD 简介1、概述&#xff1a;2、作用&#xff1a; 二、静态路由调用 BFD1、配置静态 BFD2、配置动态 BFD 三、OSPF联动BFD四、BFD 单臂回声&#xff08;one arm echo&#xff09; 前言 BFD&#xff1a;Bidirectional Forwarding Detection&#xff0c;双向转…...

大家经常说的java八股文到底是什么?让我来总结一下吧!

八股文问题集合 面试必看java八股文 问题正在收录中&#xff0c;累了休息一会&#xff0c;如果有需要请&#xff0c;先关注&#xff0c;这几天会更帖子&#xff0c;答案后续补上 文章目录 八股文问题集合问题正在收录中&#xff0c;累了休息一会&#xff0c;如果有需要请&#…...

C++备忘录模式实践:轻松实现撤销与恢复功能

目录标题 引言&#xff08;Introduction&#xff09;备忘录模式定义及核心概念&#xff08;Memento Pattern Definition and Core Concepts&#xff09;备忘录模式的定义&#xff08;Definition of Memento pattern&#xff09;备忘录模式的主要角色&#xff08;Key roles in M…...

如何选择CDN加速平台?

现如今全球CDN市场规模逐年攀升&#xff0c;在2017年全球CDN市场规模约为75亿美元,到2021年增长到200亿美元左右。我国CDN行业同样保持高速发展,自2017年的135亿元增长到2022年的300亿元左右。但是国内的CDN市场规模仅为全球市场的15%-20%&#xff0c;海外CDN市场空间巨大。 接…...

其实苹果知道自己离不开中国制造,因此悄悄给自己留了后路

苹果在加速离开中国&#xff0c;不过从苹果的做法却又可以看到它其实很清醒地认识到无法离开中国制造&#xff0c;因此它在力推印度制造的时候&#xff0c;其实并没拼尽全力&#xff0c;深刻认识到印度制造和印度市场与中国的差距。 一、印度制造和印度市场与中国的差距 2022年…...

必用WhatsApp营销的4个理由

WhatsApp是世界上最受欢迎的消息传递应用程序。每天有1万新用户加入WhatsApp。各种规模的公司都利用该平台与世界各地的客户进行有效的沟通&#xff0c;这要归功于其广泛的覆盖范围、用户友好的设计和安全的端到端加密。因此&#xff0c;WhatsApp聊天机器人迅速普及。 1.为您的…...

Python从入门到精通9天(异常的处理)

异常处理 异常处理语句多个异常raise关键字常见的异常类型自定义异常 异常处理语句 在了解异常处理之前&#xff0c;我们先对它的语句进行说明&#xff0c;如下&#xff1a; try&#xff1a;表示测试代码块以查找错误 except&#xff1a;表示处理错误 finally&#xff1a;表…...

微服务学习——Docker

初识Docker 项目部署的问题 大型项目组件较多&#xff0c;运行环境也较为复杂&#xff0c;部署时会碰到一些问题: 依赖关系复杂&#xff0c;容易出现兼容性问题开发、测试、生产环境有差异 Docker Docker如何解决依赖的兼容问题的? 将应用的Libs(函数库)、 Deps&#xf…...

QMS-云质说质量 - 5 解决中小企业质量问题的钥匙在哪里?

云质QMS原创 转载请注明来源 作者&#xff1a;王洪石 引言 一个小小的质量问题可能引发蝴蝶效应 日常生活中&#xff0c;我们每天都会遇到各种各样的问题&#xff0c;并随着它们喜怒哀乐。企业也不例外&#xff0c;即使有很好的管理体系以及非常高素质的员工&#xff0c;一些错…...

基于Java+Spring+vue+element社区疫情服务平台设计和实现

基于JavaSpringvueelement社区疫情服务平台设计和实现 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联系方式 …...

实战项目:手把手带你实现一个高并发内存池

项目介绍 1.这个项目做的是什么&#xff1f; 当前项目是实现一个高并发的内存池&#xff0c;他的原型是google的一个开源项目tcmalloc&#xff0c;tcmalloc全称Thread-Caching Malloc&#xff0c;即线程缓存的malloc&#xff0c;实现了高效的多线程内存管理&#xff0c;用于替…...

原理这就是索引下推呀

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 索引下推是之前面试的时候遇到的一个面试题&#xff0c;当时没有答上来&#xff0c;今天来学习一下。 介绍索引下推之前先看一下MySQL基…...

个人通讯录(二)

个人通讯录&#xff08;二&#xff09; 需求&#xff1a; 通讯录&#xff08;phone&#xff09;用来保存若干个联系人的信息&#xff0c;且可以按照联系人姓名的拼音升序排序。要求通讯录提供一下功能&#xff1a; 1.添加联系人信息 2.删除指定联系人信息 3.修改指定联系人…...

DockerK8S常见面试知识

Docker docker的工作原理 docker是一个client-server结构的系统&#xff0c;docker守护进程运行在宿主机上&#xff0c;守护进程从客户端接受命令并管理运行在主机上的容器&#xff0c;容器是一个运行时环境&#xff0c;这就是我们说的集装箱 docker组成部分 1、docker cli…...

tcpdump arping nsenter

tcpdump 参数说明 tcpdump 是一款常用的网络抓包工具&#xff0c;它可以捕获网络数据包并进行分析。tcpdump 的参数非常多&#xff0c;下面是一些常用的参数说明&#xff1a; -i&#xff1a;指定要监听的网络接口&#xff0c;如 -i eth0。 any-n&#xff1a;禁用地址解析&…...

Python - 简单快速回忆基础语法

Python 是一种高级编程语言&#xff0c;易学易用 以下是 Python 基础语法的概述&#xff1a; 注释 Python 使用 # 符号来注释代码行。代码行 # 后的所有内容都将被认为是注释&#xff0c;不会被解释器执行&#xff0c;只是对代码的注释说明 # 这是一条注释 print("Hel…...

后端开发必知的数据库优化技巧:这5个方法让你的系统性能提升10倍

对于软件测试从业者来说&#xff0c;理解数据库优化逻辑不仅能帮我们更快定位性能瓶颈&#xff0c;还能让我们在测试阶段就提前发现潜在的数据库设计问题&#xff0c;避免上线后出现大规模性能故障。很多测试同学往往把注意力放在接口逻辑、功能正确性上&#xff0c;却忽略了数…...

视频孪生融合落地,无感定位完胜 UWB 静态定位模式

视频孪生融合落地&#xff0c;无感定位完胜 UWB 静态定位模式数字孪生产业加速向实景化、动态化、实景融合方向纵深发展&#xff0c;视频孪生凭借实景画面与虚拟模型共生联动的特性&#xff0c;成为实体场景数字化治理的核心载体。空间定位作为视频孪生的数据根基&#xff0c;直…...

GEO学习能帮我提高AI搜索排名吗?

先直接回答这个问题&#xff1a;GEO不叫"排名"&#xff0c;但效果比排名更直接。如果你理解了这句话&#xff0c;你就理解了GEO和SEO的本质区别。AI搜索没有"排名"&#xff0c;只有"引用"传统SEO优化的目标是在搜索结果页面占据靠前位置——第几…...

Lovable前端不是UI美化,而是工程决策——看头部电商如何用2周将NPS提升37%(含埋点与归因模型)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Lovable前端开发实战案例 在现代前端工程中&#xff0c;“Lovable”不仅指界面美观、交互愉悦&#xff0c;更强调可维护性、可测试性与开发者体验的统一。本章通过一个轻量级待办事项&#xff08;Todo&#xf…...

观察性研究混杂偏倚控制【9天实用统计学公益训练营Day3-1】

关注公众号的朋友都知道&#xff0c;郑老师我之前连续4年开设了“30天学会医学统计学”&#xff0c;从理论到实操&#xff0c;一步一步教会大家统计学、SPSS课程。2026年&#xff0c;我们对这门课程进行全新升级&#xff01;课程时间大幅度缩短&#xff0c;内容大幅度提升&…...

浏览器AI分身:DOM即接口的智能自动化实践

1. 项目概述&#xff1a;这不是“另一个浏览器插件”&#xff0c;而是一次人机交互范式的迁移你有没有过这样的时刻&#xff1a;早上打开电脑&#xff0c;第一件事是机械地输入邮箱密码、点开日历核对会议、在购物网站比价三款同款耳机、把刚收到的PDF发票拖进记账软件——整套…...

2026年开发者必备:JetBrains IDE无限试用重置完全指南

2026年开发者必备&#xff1a;JetBrains IDE无限试用重置完全指南 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 当你正在专注编写代码时&#xff0c;IDE突然弹出"试用期已结束"的警告&#xff0c;那种…...

ShawzinBot技术解析:基于MIDI的Warframe乐器自动化演奏系统实现

ShawzinBot技术解析&#xff1a;基于MIDI的Warframe乐器自动化演奏系统实现 【免费下载链接】ShawzinBot Convert a MIDI input to a series of key presses for the Shawzin 项目地址: https://gitcode.com/gh_mirrors/sh/ShawzinBot ShawzinBot是一款专为《Warframe》…...

服务器CPU架构对决:Chiplet与Monolithic技术解析与选型指南

1. 市场格局的悄然变迁&#xff1a;从“牙膏厂”到“撕裂者”的冲击如果你最近几年一直在关注数据中心和服务器市场&#xff0c;一个非常明显的趋势是&#xff0c;曾经由英特尔至强处理器几乎垄断的“铁王座”&#xff0c;正在被AMD的EPYC&#xff08;霄龙&#xff09;处理器一…...

Claude Code、Cursor、Codex到底是什么?法律人AI开发工具全解析

一、AI IDE是什么&#xff1f;从代码编辑器到智能助理AI IDE AI 集成开发环境&#xff08;IDE&#xff09;。传统IDE如VS Code、IntelliJ&#xff0c;开发者需要手动编写每一行代码、查阅文档、编写测试用例。AI IDE则让开发者用自然语言下达指令&#xff0c;AI理解整个项目结…...