What are hypervisors? A hypervisor is a software that enables multiple virtual machines (VMs)—each with its own operating system (OS)—to run on one physical server. The hypervisor pools and allocates physical computing resources as needed by the VM, enabl…

2025年5月24日 0条评论 1248点热度 0人点赞 MuWinds 阅读全文

C/C++程序的编译过程分为四个关键阶段:​​预处理(Preprocessing)、编译(Compilation)、汇编(Assembly)和链接(Linking)​​。每个阶段承担不同任务,最终将源代码转换为可执行文件。 一、预处理阶段(Preprocessing) 预处理是编译的第一步,主要处理源代码中以 # 开头的指令,生成经过处理的中间代码(.i 文件)。核心功能包括: ​​示例命令​​: 预处理器的核心功能 预处理与编译流程的关系 预处理的实际应用与注意事项 预处理指令示例 …

2025年5月22日 0条评论 1362点热度 1人点赞 MuWinds 阅读全文

A.原子性 即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性确保对共享资源的操作不会被其他线程干扰,从而避免数据不一致性(如竞态条件) 本质​​:原子性依赖于硬件和编译器的支持,例如CPU的原子指令(如x86的LOCK前缀)或编译器生成的原子操作代码,确保操作在底层不可分割。 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。试想一下,如果这2个操作不具备原子性,会造成什么样的后…

2025年5月19日 0条评论 1139点热度 1人点赞 MuWinds 阅读全文

有两个人 A 和 B。 A 通过网络向 B 发送一条消息。B 收到了之后,怎么确认: 1.这条消息没有被中间人篡改过 2.这条消息确实来自于 A,而不是某个 C 伪造出来的 答案就是使用 MAC。A 在发送消息时,计算出该消息的 MAC 值,并将其一起发送给 B。B 收到之后,便可以根据 MAC 确认 1 和 2. 直接出公式:MAC = 散列 + 对称密钥 也就是说,消息验证码 MAC 是散列技术和对称密钥技术的联合使用。 首先说散列,散列的作用是防篡改。 任何一段消息,不管有多长,都可以通过一个散列算法计算出一…

2025年5月2日 0条评论 873点热度 0人点赞 MuWinds 阅读全文

 Oauth2.0 定义了几种授权流程,其中最重要、也最基础的是 Authorization Code 授权。先看流程图:   1,用户访问 A 网站   2,A 打开 B 的授权页面   3,用户看到授权界面,输入账号密码进行授权   4,B 验证用户是合法的之后,生成一个 authorization code,然后通过 302 跳转的方式,把这个 code 发送给 A   5,A 用这个 code 调用 B 的 api,获得 access token   6,A 用 access token…

2025年5月2日 0条评论 1240点热度 0人点赞 MuWinds 阅读全文
12