- 博客(8)
- 收藏
- 关注
原创 柔性数组(Flexible Array Member)
语法:结构体的最后一个成员,声明为(C99 及之后标准支持)核心特点不占用结构体本身的内存空间仅作为占位符,允许在结构体后动态追加内存必须是结构体的最后一个成员。
2026-02-01 15:02:25
161
原创 任务-malloc开辟堆内存,大小内存的分配方式有何不同?
mmapbrk如何区分块的边界,区分哪些块是已分配块,哪些块是空闲块。大部分分配器将这些信息嵌入块本身。头部信息头告诉有效载荷、可能预留的填充是多少有效载荷(只包括已分配的块)malloc返回的指针,指向有效载荷的开始填充(可选)按照上面的格式,大致就能把堆切分成空闲块、已分配块错落有致的序列。将堆组织成一个连续的已分配块和空闲块的序列,这种结构被称为隐式空闲链表。申请xx字节的空间,分配器就会搜索空闲链表,找到一个够大的空闲块,把它给出去。
2026-01-25 16:07:40
486
原创 发布管道(Release Pipeline)核心笔记
发布管道是一套自动化流程,用于将代码从构建完成的状态,通过多阶段的验证、部署,最终交付到生产环境(或其他目标环境)的全过程。自动化、可重复、可追溯地完成软件交付,减少人工操作,降低部署风险。关联概念:CI(持续集成)侧重 “构建 + 测试”,CD(持续部署 / 持续交付)依赖发布管道实现 “自动化部署”。发布管道的核心是自动化、可追溯、可回滚,核心阶段包含构建、多环境部署、验证;配置时需注意环境隔离、手动审批(生产)、版本控制,避免误操作;
2026-01-23 17:11:18
473
原创 进程控制笔记
2. **进程与程序的区别**: - 程序:静态、永久存在(如`xxx.exe`、`xxx.py`文件);- **代码示例(Linux修改优先级)**: ```bash # 查看进程优先级(nice值,范围-20~19,值越小优先级越高) ps -l # 修改进程优先级(需root权限) renice -5 1234 # 将PID为1234的进程nice值改为-5,提升优先级 ``` #### 三、进程控制的应用场景 1. 多任务处理:如电脑同时运行浏览器、微信、音乐播放器(多个进程并行);
2026-01-22 17:05:14
346
原创 计算机体系结构&程序虚拟地址空间&进程 学习笔记
计算机体系结构(Computer Architecture)是指计算机系统中硬件与软件之间的接口设计,以及计算机系统的组织方式,重点解决“如何合理组织硬件资源,让软件高效运行”的问题。通俗来说,它规定了CPU、内存、I/O设备等硬件组件的协同方式,以及软件(如操作系统、应用程序)如何调用硬件资源。注意区分两个易混淆概念:计算机体系结构:关注“接口和组织方式”(如指令集、内存寻址方式),是“抽象层面”的设计,不涉及具体硬件实现。
2026-01-21 17:13:19
534
原创 git与github相关的学习笔记
Git的核心是“版本控制”,重点掌握工作区、暂存区、本地仓库的交互,以及分支操作。GitHub的核心是“远程托管与协作”,重点掌握本地与远程仓库的关联、推送、拉取,以及团队PR流程。协作时遵循“先拉取、再修改、再提交、再推送”的原则,避免冲突;分支规范能提高项目可维护性。
2026-01-21 17:09:27
598
原创 linux压缩原理
Linux 系统中压缩的核心逻辑:针对文件内容的重复字节、空白字符、可预测序列等冗余特征,通过数学算法替换或编码,降低数据熵(信息无序度)。结合 LZ77(滑动窗口查找重复序列)+ 霍夫曼编码(对重复序列分配短编码)现代 Linux 首选(内核 5.3 + 支持)、大数据场景、实时压缩。LZMA 算法改进(长窗口查找 + 多阶段编码),支持多线程。对压缩比要求高,速度不敏感的场景(如备份大文件)单文件压缩、日志文件、源码包。中高(约 2:1~3:1)极高(约 4:1~5:1)高(约 3:1~4:1)
2025-11-12 16:26:10
970
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅