《Netty》从零开始学netty源码(四十七)之PooledByteBuf的方法

news/2025/1/8 20:47:03/

setBytes()

从channel中读取数据并写到PooledByteBuf中,分配缓存的过程与getBytes一样,只是duplicate为false。

在这里插入图片描述

capacity()

动态更新容量,根据新传入的容量值更改length。

  1. 如果新容量值与旧值相同则无需扩容
  2. 如果为非池化内存则根据新容量值与length、maxLength的值进行相应更改
  3. 由arena重新分配内存并释放旧的内存空间
    在这里插入图片描述

deallocate()

对象回收的过程:

  1. 清空属性值
  2. 将对象放回对象池中

在这里插入图片描述

readBytes

根据读取数据的长度从缓存中读取数据并写入channel。

在这里插入图片描述

至此,PooledByteBuf的方法分析至此完毕,感谢阅读。

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

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

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

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


http://www.ppmy.cn/news/57549.html

相关文章

TypeScript算法题实战——剑指 Offer篇(2)

Typescript 是 Javascript 的超集。Typescript 为 Javascript 增加类型能力,主要为了避免 JS 弱类型下产生的各种有意无意的问题。Typescript 的出现大大改善了开发体验,增强了代码的可维护性和稳定性,如今已被越来越多的大型前端项目选用。 …

培训技能 GET

技巧 调整语速和语调:讲解者需要注意语速和语调的调整,以便让听众更好地理解和接受内容。 使用案例和实例:讲解者可以使用案例和实例来帮助听众更好地理解和记忆内容,同时也可以增强听众的兴趣和参与度。 互动式讲解&#xff1a…

【实战项目开发技术分享】ROS自动安装以及卸载教程

文章目录 前言一、ROS安装教程1.1 添加ROS软件包源1.2 安装ROS核心软件包1.3 rosdep初始化以及更新1.4 配置ROS环境变量1.5 安装依赖工具和ROS工具1.6 测试ROS安装是否成功二、ROS卸载教程三、自动安装ROS脚本(以Noetic为例 )3.1 方法一3.2 方法二四、自动卸载ROS(以Noetic为…

Java Web应用开发 ——作业七

一.单项选择题(共7题,28.7分) 1 Servlet程序的入口点是( )。 A、 init() B、 main() C、 service() D、 doGet() 正确答案&#…

osgGA::CameraManipulator类computeHomePosition函数分析

osgGA::CameraManipulator类computeHomePosition函数代码如下&#xff1a; void CameraManipulator::computeHomePosition(const osg::Camera *camera, bool useBoundingBox) {if (getNode()){osg::BoundingSphere boundingSphere;OSG_INFO<<" CameraManipulator::…

NLP实战:快递单信息抽取-基于ERNIE1.0 预训练模型

目录 一、介绍 二、代码 2.1前期准备 2.2加载自定义数据集 2.3数据处理 2.4数据读入 2.5PaddleNLP一键加载预训练模型 2.6设置Fine-Tune优化策略&#xff0c;模型配置 2.7模型训练与评估 ​编辑 2.8模型预测 三、总结 原文&#xff1a; 一、介绍 命名实体识别&…

Leetcode力扣秋招刷题路-0851

从0开始的秋招刷题路&#xff0c;记录下所刷每道题的题解&#xff0c;帮助自己回顾总结 851. 喧闹和富有 有一组 n 个人作为实验对象&#xff0c;从 0 到 n - 1 编号&#xff0c;其中每个人都有不同数目的钱&#xff0c;以及不同程度的安静值&#xff08;quietness&#xff0…

SPSS如何管理数据之案例实训?

文章目录 0.引言1.数据文件的分解2.数据文件的横向合并3.数据文件的纵向合并4.数据文件的变换5.观测量的加权6.根据已存在的变量建立新变量7.产生计数变量8.对变量自身重新赋值9.赋值生成新的变量10.变量取值的求等级11.缺失数据的处理12.数据的汇总13.由变量组到观测量组的重组…