1. Linux 进程空间 (从上到下是从高地址到低地址): 段名 描述 内核(kernel space) … 栈 ↓ 存放局部变量,函数参数和返回值 .mmap ↓ 实现文件(设备)的映射,例如动态链接库 堆 ↑ 存放动态分配的内存 .bss 未初…
1. 问题的引入 1.1. 多线程带来的三个问题 在多线程编程下,程序的运行结果可能并不如我们所预料的一致。这主要是由以下三种原因导致的: 1.1.1. 非原子操作 原子操作(atomic operation)指不会被线程调度机制中断的一个或一系列操…
我们一直在被逐渐剥离, 从最后的拥抱开始 关于距离的记述,从一次呼吸, 到一层青砖、一片湖泊, 而后是群山、海洋和遥远的十年 目睹天空的衰老,而后明白 我们无法从四季交替中脱身, 更遑论最平凡的别离 逃离漂泊的航迹, 再回归瞭望者的路程 如流淌的星轨…
1. RPC基础概念 1.1 RPC 远程过程调用(Remote Procedure Call, RPC),一种进程间通信的模式,允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无…
1. NOSQL的特点 1.1 分类 键值对/半结构化文档(json)/图数据库 1.2 优点 内存级数据库,读写效率高 支持高并发(关系型数据库有磁盘IO瓶颈) 支持海量数据(关系型数据库单表过大导致SQL查询性能低下) 键值对/半结构化文档(js…
1. 数据库的三范式 1NF:列具有原子性,不可拆分(也可以表述为“表都是二维的”) 2NF:一个表必须有一个主键,其他列完全依赖于主键(限制部分依赖,即不可只依赖于联合主键的一部分) 3NF:其他列必须和主键直接相关,不能间接相关(限制列的冗余性,…