posts - 91,comments - 0,views - 12645
摘要: 目标文件的格式 目前主要流行两种,均是 COFF格式 的变体 windows -> PE (portable executable) linux -> ELF (executable linkable format) ELF格式文件类型 (PE类似) 可重定位文件 (relocatable file 阅读全文
posted @ 2025-03-12 19:35 Dylaris 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 以我使用的 wsl(ubuntu22.04) 为例 当我们的程序出现段错误时,一般会报 Segmentation Fault,打开 core dump 后,会生成核心转储文件,它保存的是出错是程序的内存映像,方便后续调试查看,它的报错信息也会变成 Segmentaion Fault (core du 阅读全文
posted @ 2025-03-11 22:39 Dylaris 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 概念 以下排序是基于 升序 的,也就是 从小到大 排序 冒泡排序就是 交换邻近元素,确保相对顺序是对的,简单来说就是 不断的把大的元素推向最右边,和选择排序刚好相反 伪代码 for i <- n-1 downto 1 do for j <- 0 to i-1 do if arr[j] > arr[j 阅读全文
posted @ 2025-03-10 14:46 Dylaris 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 概念 以下排序是基于 升序 的,即 从小到大 排序 选择排序就是 每次选取最小的那个元素,并把它与第一个元素交换,简而言之,就是 把最小的元素不断的推到左边 伪代码 min_idx <- 0 // 初始化最小值的索引 for i <- 0 to n - 2 do // 只对array[i:]的元素排 阅读全文
posted @ 2025-03-10 14:22 Dylaris 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 算数表达式 例子: 2 + 3 * 5 - 8 / 3 AST的生成 需要注意运算符的优先级 递归下降解析 (递归层次越深,优先级越高) 普拉特解析 (运算符权重越大,优先级越高) AST: (expression) | (-) / \ / \ (+) (/) / \ / \ 2 (*) 8 3 / 阅读全文
posted @ 2025-02-24 18:16 Dylaris 阅读(1) 评论(0) 推荐(0) 编辑
摘要: 多线程 当引入线程后,进程可以看作是 资源的集合,线程可以看作是 执行单元,线程之间共享进程的某些资源,比如文件描述符等等,这方便了线程之间的通信,每个线程都有自己的堆栈(因为线程的启动函数可能不同,甚至可能递归) 简单来说就是,同一个进程内的线程可以共享一些资源,每个线程都有自己的执行环境 初始线 阅读全文
posted @ 2024-12-29 22:06 Dylaris 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 基于锁的协议 锁机制用于控制 并发访问 数据项 锁协议是事务在请求和释放锁时需要遵循的一组规则。锁协议的目的是确保事务的并发执行不会导致数据的不一致性,同时帮助系统避免死锁和其他问题 锁的两种模式 排它锁(Exclusive Lock,X模式) 目的:一个事务在对数据项进行操作时,可以对数据项进行 阅读全文
posted @ 2024-12-24 18:16 Dylaris 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 什么是事务(transactions) 事务代表了 一组操作的集合,这些操作要么 全部执行,要么 全部不执行 ACID 特性 原子性 Atomicity: 原子性,指事务的操作要么全部执行,要么全部不执行 假设我正在进行一个插入操作,要插入多条记录,那么这个插入操作就是一个事务,它会为插入的每条记录 阅读全文
posted @ 2024-12-23 21:08 Dylaris 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 什么是连接 连接就是把一个或多个来自不同表的元组通过相同的属性字段合并成一个大的元组 如上图,把属性 ID 相同的两个元组(来自不同表)合并成一个大的元组 连接属性是否有 索引(快速定位),是否 有序(是否要全表扫描),还有 内存访问 和 磁盘访问 的速度都会影响连接操作的成本 theta 连接 t 阅读全文
posted @ 2024-12-23 16:02 Dylaris 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 什么是查询处理 下图是查询处理的基本步骤 首先我们输入一串 sql语句,这就是 query 查询,然后会交给 parser 解析器进行内部的处理,比如将 sql语句 转换成 关系代数 等,同一个操作可以有不同的 关系代数表达式,我们最好是选择 执行代价 最小的那一种,这就是 optimizer 优化 阅读全文
posted @ 2024-12-21 23:19 Dylaris 阅读(42) 评论(0) 推荐(0) 编辑
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示