《Netty》从零开始学netty源码(三十九)之PoolSubPage的内存释放

news2025/1/11 0:15:42

PoolSubPage.free

PoolSubPage的内存释放相对来说比较简单:

  1. 首先根据段的偏移量bitmapIdx找到bitmap的long[]数组的索引q,将bitmap[q]这个long的二进制位的占用位r置为0,表示已经释放。
  2. 如果PoolSubPage的段已经全部释放了,且池中还有其它的节点,则从池中移除
  3. 如果PoolSubPage之前因为内存分配完而被移除出pool,即numAvail为0,则重新加入可使用的池中,即传进来的head,以便下次使用

整个过程的源码如下:

在这里插入图片描述

至此,PoolSubPage级别的内存释放分析到此结束。

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/436624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

测试开发岗 - 常见面试题

1. 什么是软件测试, 谈谈你对软件测试的了解 软件测试就是验证产品特性是否符合用户需求, 软件测试贯穿于软件的整个生命周期. >>> 那软件测试具体是什么呢 ? 就拿生活中的例子来说, 比如说我们去商场买衣服, 会有以下几个步骤 : 第一步: 我们会走进门店…

【网络安全】命令执行漏洞

命令执行漏洞 命令执行漏洞原理危害检测方法有回显检测方法; (分号) 从左到右执行| (管道符) 将见面命令的输入为后面命令的标准输入&(后台任务符号) 命令从左到右执行&&(与) 逻辑与,前面命令执行成功后才会执行||(或) 逻辑或,前面执行失败才…

LeetCode算法小抄-- 图的遍历

LeetCode算法小抄-- 图的遍历 图基本概念遍历广度优先算法(BFS)框架[111. 二叉树的最小深度](https://leetcode.cn/problems/minimum-depth-of-binary-tree/)[752. 打开转盘锁](https://leetcode.cn/problems/open-the-lock/)[773. 滑动谜题](https://leetcode.cn/problems/sli…

文章伪原创生成器在线-文章伪原创工具免费入口

文章自动生成器 在现代科技快速发展的时代中,自动化技术已经深入到了各个领域。而随着人工智能技术的提高,自动化技术在创意和写作领域越来越成熟。现在有一款名为“文章自动生成器”的软件,可以轻松地生成高质量的文章。 今天,我…

STM32之MPU6050获取欧拉角

STM32之MPU6050获取欧拉角 MPU6050MPU6050特点MPU6050电路图以及框图MPU6050框图MPU6050电路图 MPU6050相关寄存器电源管理寄存器1(0x6B)陀螺仪配置寄存器(0x1B)加速度计配置寄存器(0x1C)陀螺仪采样率分频寄…

Vue中的ajax【Vue】

4. Vue 中的 ajax 4.1 解决开发环境 Ajax 跨域问题 方法一: 在vue.config.js中添加如下配置: devServer:{proxy:"http://localhost:5000" }说明: 优点:配置简单,请求资源时直接发给前端(808…

更懂业务的用友iuap平台,助力企业升级数智化底座

4月19日,一年一度的用友BIP技术大会如约而至。近千位来自三十个行业的企业家、CIO/CDO、企业主管、专家学者、媒体、分析师代表现场参与大会。伴随企业数智化推进,越来越多的企业需要升级数智底座平台。会上,用友介绍了更懂企业业务的用友BIP…

Android 开发为什么会要用到组件化与插件化?好处在哪?

对于开发者来说,写好代码的第一步就是具备良好的架构能力。但是这项基本的能力,也很少有人具备。就拿最常用的项目架构组件化来说,有多少人用过?又有谁去了解过组件化开发中真正会遇到的问题,以及如何解决?…

Nacos 1.4.x 升级至 2.x 详细步骤及遇到的问题,亲测可行

此前使用的nacos版本是1.4.5,现在nacos最新版本为2.2.2,且修复了旧版本的一些安全问题,下面把详细的升级步骤记录一下,大家一起学习,亲测有效。 主要参考nacos官方升级文档:https://nacos.io/zh-cn/docs/v2…

瑞吉外卖项目——读写分离

读写分离 读和写所有压力都由一台数据库承担,压力大数据库服务器磁盘损坏则数据丢失,单点故障 Mysql主从复制 介绍 MySQL主从复制是一个异步的复制过程,底层是基于Nysql数据库自带的二进制日志功能。 就是一台或多台MysQL数据库&#xf…

字符串 --- 找子串匹配算法

1.基本介绍 主串:形如 “hello world”的字符串作为一个整体 子串:上面主串的一部分如“world” 在计算机世界,主串找子串的模式很常见,比如要在word文件中找一句指定的话,那么面对海量的信息,我们匹配算法…

最新入河排污口设置论证、水质影响预测与模拟、污水处理工艺分析及典型建设项目入河排污口方案报告书实例分析

目录 专题一 入河排污口设置论证相关法律与制度解读 专题二 水域纳污能力核算方法 (讲授与实操相结合) 专题三 入河排污口设置方案、分析范围、论证范围、模型预测范围确定方法 专题四 入河排污口所在水域水质现状与取水、排污状况分析 专题五 入河…

React State 状态

React State(状态) React 把组件看成是一个状态机(State Machines)。通过与用户的交互,实现不同状态,然后渲染 UI,让用户界面和数据保持一致。 React 里,只需更新组件的 state,然后根据新的 s…

SPI通讯

1、介绍 SPI是高速、全双工、同步的通信总线。 SPI应用于存储芯片、AD转换器及LCD中。 同步、异步区别:是否有时钟线,例如SPI、I2C是同步通信,需要用到时钟线,串口是异步通信,没有时钟线。 SPI通信需要四根线&…

【数据结构】单链表(详解)

【数据结构】单链表(详解) 1.前言1.1本章节重点1.2 什么是单链表1.3 结构体设计1.4结构体传参 2. SList.h展示3. SList.c展示4. 各个接口函数的实现4.1 尾插4.2 打印4.3 头插4.3.1内存开辟函数4.3.2插入 4.4 尾删4.5 头删4.6 查找4.7 给定一个位置在这个…

今天面了个字节跳动拿35K出来的,真是砂纸擦屁股,给我露了一手啊

今年的金三银四已经快要结束了,很多小伙伴收获不错,拿到了心仪的 offer。 各大论坛和社区里也看见不少小伙伴慷慨地分享了常见的面试题和八股文,为此咱这里也统一做一次大整理和大归类,这也算是划重点了。 俗话说得好&#xff0c…

为什么选择学习python?

对于编程初学者来说,python更加简单易学,便于初学者入门~ 学Python之前:这玩意真有传说中那么好么? 学Python之后:唉呀妈呀,真香~ 别人花2天时间处理的Excel数据,你用Python 只花1小时&#…

若依移动端Ruoyi-App——字典使用

1. 引入dict 将若依前后端分离中的dict文件夹拷贝到api的system里 2.在页面中引入方法 import { getDicts } from "/api/system/dict/data"; 3. 前端 <span>{{statusType}}</span> 4. 加载数据字典 export default {data() {return {statusOptions…

LeetCode:剑指 Offer 58 - II. 左旋转字符串

&#x1f34e;道阻且长&#xff0c;行则将至。&#x1f353; &#x1f33b;算法&#xff0c;不如说它是一种思考方式&#x1f340; 算法专栏&#xff1a; &#x1f449;&#x1f3fb;123 一、&#x1f331;剑指 Offer 58 - II. 左旋转字符串 题目描述&#xff1a;字符串的左旋…

正则表达式 - 电话号码

正则表达式是描述一组字符串特征的模式&#xff0c;用来匹配特定的字符串。 一、需求 写一个正则表达式匹配电话号码&#xff0c;并且括号、连字符或点号都是可选的。假定合规数据只包含以下15种匹配模式之一&#xff1a; xxxxxxx 8277019xxx.xxxx 82…