技术栈
内存管理
JiMoKuangXiangQu
9 天前
linux
·
内存管理
·
page owner
Linux 内存管理 (7):page owner
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。page owner 用于追踪每个页面的分配者。它可用于调试内存泄漏或查找内存占用者。当发生分配时,分配信息(如调用栈和 page order)会被存储在每个页面的特定存储区中。当需要了解所有页面的状态时,我们可以获取并分析这些信息。
好评124
11 天前
开发语言
·
c++
·
内存管理
·
c/c++
C/C++ 内存管理:摆脱野指针和内存泄漏
内存问题是 C/C++ 程序员的“职业噩梦”:写着写着就崩,调半天才发现是少了一行 delete;改个数组大小,realloc 用错又炸了;看到 placement new 直接跳过。其实,大部分坑都来自同一个根源——你没真正搞清“谁在什么地方,谁负责回收”。这篇文章就是一步步把这件事讲透,从内存布局到动态分配,再到 C++ 特有的内存机制,帮你把脑子里的那张“内存地图”补完整。
potato_may
13 天前
c语言
·
开发语言
·
数据结构
·
c++
·
内存
·
内存管理
CC++ 内存管理 —— 程序的“五脏六腑”在哪里?
💡 你写的每一行代码,背后都有一块内存默默支撑。 学会内存管理,就像学会给程序“体检”和“做手术”! 本章带你搞懂: ✅ 程序运行时,变量到底住在哪里? ✅ malloc/free 和 new/delete 有什么区别? ✅ 为什么 C++ 要发明 new? ✅ 什么是“定位 new”?它有什么用?
JiMoKuangXiangQu
13 天前
linux
·
内存管理
·
slab
Linux 内存管理 (6):slub 分配器
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。上一篇 Linux 内存管理 (5):buddy 内存分配简要流程 讲到了 buddy 分配器,既然有了 buddy 分配器,那为什么还需要 slab 分配器?原因是 buddy 分配器以页为单位进行分配,而在实际的应用场景下,有很多小内存的分配需求,通常尺寸都远远小于一个物理内存页面,于是支持小内存分配的 slab 分配器就应运而生。
点云SLAM
15 天前
c++
·
内存管理
·
c++高级应用
·
c++包装器
·
类型擦除包装器
·
内存小对象优化
C++包装器之类型擦除(Type Erasure)包装器之小对象优化(SBO, Small Buffer Optimization)示例(5)
类型擦除包装器(例如 std::function/std::any)通常在内部对任意类型做 new Model<T>(...) 动态分配并保存基类指针。动态分配的成本(堆分配/释放、缓存抖动)在高频路径(比如每帧创建残差对象、或实时点云处理)会成为瓶颈。
sulikey
17 天前
c语言
·
c++
·
内存管理
·
placement-new
C/C++内存管理深度解析:从内存分布到new/delete底层原理
内存管理是C/C++编程的核心技术之一,直接影响程序的性能、稳定性和安全性。与Java、Python等语言的自动垃圾回收机制不同,C/C++赋予开发者直接操控内存的能力,这既带来了灵活性,也埋下了内存泄漏、野指针等隐患。本文将系统梳理C/C++内存布局,深入剖析malloc/free与new/delete的实现机制,帮助开发者建立完整的内存管理知识体系。
奔跑吧邓邓子
1 个月前
内存管理
·
内存泄漏
·
buffer
·
理论到实战
解锁Buffer内存管理:从理论到实战的进阶指南
在计算机领域,内存管理一直是至关重要的一环,而 Buffer 内存管理更是其中的关键技术,它在数据处理和传输的各个环节都发挥着不可或缺的作用。无论是在操作系统内核、数据库管理系统,还是在各类网络应用程序中,Buffer 内存管理都扮演着优化性能、提升效率的重要角色。接下来,让我们深入了解 Buffer 内存管理的相关知识。
RollingPin
1 个月前
ios
·
内存管理
·
runtime
·
autoreleasepool
iOS 内存管理之 autoreleasePool
先简单总结下(ps:以下解释略显抽象):这样,就可以实现延迟释放对象的能力;ps:md写的时候,想从苹果开发开源项目平台找源码看,can’t be found了;
JiMoKuangXiangQu
1 个月前
linux
·
内存管理
·
buddy 分配器
Linux 内存管理 (5):buddy 内存分配简要流程
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。头文件 include/linux/gfp.h 导出了多个接口从 buddy 分配器分配页面:
JiMoKuangXiangQu
1 个月前
linux
·
内存管理
·
file mmap
Linux:文件 mmap 读写流程简析
限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。文件 read() / write() 操作,需要在用户空间缓冲和内核空间文件 page cache 之间进行数据拷贝:
白鹿第一帅
1 个月前
性能优化
·
内存管理
·
性能分析
·
编译优化
·
仓颉语言
·
并发优化
·
ui渲染优化
【仓颉纪元】仓颉性能优化深度实战:5 天让应用提速 300%
文章作者:白鹿第一帅,作者主页:https://blog.csdn.net/qq_22695001,未经授权,严禁转载,侵权必究!
Johnny.Cheung
1 个月前
rust
·
内存管理
·
析构函数
非常好的Rust自动管理内存的例子
输出:
冷凝雨
2 个月前
嵌入式
·
c
·
freertos
·
内存管理
·
源码分析
FreeRTOS源码学习(一)内存管理heap_1、heap_3
源码分析已经有很多大佬做了,写这篇文章除了巩固自己的学习过程,也想尝试多分析一下FreeRTOS源码的细节之处,比如出于什么考虑使用了这种实现方式
SmoothSailingT
2 个月前
操作系统
·
内存管理
操作系统—内存管理(1)
目录1.程序的链接与装入2.逻辑地址与物理地址3.进程的内存映像4.内存分配与回收创建进程首先要将程序和数据装入内存。将用户源程序变为可在内存中执行的程序,通常需要以下几个步骤:
RollingPin
2 个月前
ios
·
内存管理
·
内存泄漏
·
ios面试
·
arc
·
runloop
·
引用计数
iOS八股文之 内存管理
一说起内存管理,其实是一个很大的概念,但在任何系统中都有着重要的意义;这里只是基于参考资料和个人的理解大体框定一个概念
MSTcheng.
3 个月前
开发语言
·
c++
·
内存管理
【C++】如何搞定 C++ 内存管理?
前言:内存管理在C/C++中扮演着重要的角色,同时它也是一把双刃剑,管理得好可以保障程序得稳定、提升运行效率;管理不好就会引发野指针、内存泄露、或者导致程序直接崩溃或异常。所以内存管理对于我们来说还是非常重要的!本篇文章所要讲的new delete等可以帮助你更好的掌握内存管理!
点云SLAM
3 个月前
java
·
开发语言
·
c++
·
算法
·
面试
·
内存管理
C++ 常见面试题汇总
C++ 和 C 的区别?值传递、指针传递、引用传递的区别?const 的用法?static 的作用?inline 内联函数的原理?
Layflok
3 个月前
笔记
·
操作系统
·
内存管理
·
王道笔记
第三章 内存管理
内存可存放数据,程序执行前需要先放到内存中才能被CPU处理,缓和CPU与硬盘之间的速度矛盾。操作系统作为资源的管理者,需要管理那些?
程序喵大人
3 个月前
开发语言
·
c++
·
内存管理
·
智能指针
手写智能指针:带你彻底搞懂 C++ 内存管理的底层逻辑
博主介绍:程序喵大人📚《C++藏经阁》知识库 已在 ima 上线!知识库现阶段所涵盖的内容如下图所示👇👇👇 📌 对知识库感兴趣的同学可以厚台踢我或点击 👉 C++藏经阁(轻触跳转)查看知识库完整介绍~
点云SLAM
4 个月前
开发语言
·
c++
·
内存管理
·
内存池
·
new/delete
·
malloc/free
C++中内存池(Memory Pool)详解和完整示例
内存池(Memory Pool / Pool Allocator) 是一种内存管理机制,提前向系统申请一大块内存,再在这块内存里切分、分配和回收。 它相当于在用户空间建立了一层 “小型堆管理器”,避免频繁调用系统的 malloc/free 或 new/delete。