分布式事务
分布式事务 从本地事务到分布式事务 什么是事务? 想象一个我们在日常开发中遇到过无数次的场景: 你想给朋友转账 100 块钱。在后台的数据库里,这其实对应着两步简单的操作: 你的账户余额扣减 100 元。 你朋友的账户余额增加 100 元。 这看似完美,但如果在执行完第一步后,服务器突然宕机了,或者网线被拔了,会发生什么?你的钱扣了,但朋友没收到。这 100 块钱凭空消失了! 为了防止这种“人间惨剧”发生,数据库的前辈们引入了一个极其重要的概念:事务(Transaction)。 那究竟什么是事务? 简单来说,事务就是把一组操作“捆绑”在一起,变成一个不可分割的执行单元。对于这个单元里...
muduo网络库
muduo网络库 总体架构 Muduo 主要由三大部分组成: 基础工具模块(Base) Logger、Timestamp、Thread、ThreadPool等提供线程安全、时间戳、日志等基础设施 网络模块(Net) 核心类:EventLoop、Channel、Poller、Socket、Acceptor、TcpServer、TcpConnection、Connector、Buffer基于 Reactor 模型,用 epoll 实现 I/O 复用 应用层接口 事件回调(connectionCallback / messageCallback / writeCompleteCall...
c++STL
c++STL STL的诞生 C++的面向对象和泛型编程思想,目的就是复用性的提升 大多情况下,数据结构和算法都未能有一套标准,导致被迫从事大量重复工作 为了建立数据结构和算法的一套标准,诞生了STL STL基本概念 STL(Standard Template Library,标准模板库) STL 从广义上分为: 容器(container) 算法(algorithm) 迭代器(iterator) 容器和算法之间通过迭代器进行无缝连接。 STL 几乎所有的代码都采用了模板类或者模板函数 STL六大组件 STL大体分为六大组件,分别是:容器、算法、迭代器、仿函数、适配器、空间配置器 容...
c++左右值
C++中的左值和右值 一、左值和右值的概念 左值 左值是一个表示数据的表达式,它代表一个具名的内存位置,程序可以获取其地址,可以通过地址访问它们,是可被引用的数据对象。左值又可分为可修改的的左值和不可修改的左值。 可修改的的左值 左值其实就是指可出现在赋值语句左边的表达式,它们的值是可以被修改的(最初的概念); int a;a = 10; int* ptr = &a;*ptr = 100; 不可修改的左值 随着关键字const的引入,这个左值的概念发生了变化 。因为虽然不能对const变量赋值,但是可以获取其地址。 const int a = 10;const int* ...
西邮Linux兴趣小组2024纳新面试题题解
本题目只作为西邮 Linux 兴趣小组 2024 纳新面试的有限参考。 为节省版面,本试题的程序源码省去了 #include 指令。 本试题中的程序源码仅用于考察 C 语言基础,不应当作为 C 语言「代码风格」的范例。 所有题目编译并运行于 x86_64 GNU/Linux 环境。 0. 聪明的吗喽 一个小猴子边上有 100 根香蕉,它要走过 50 米才能到家,每次它最多搬 50 根香蕉,(多了就拿不动了),它每走 1 米就要吃掉一根,请问它最多能把多少根香蕉搬到家里。 (提示:他可以把香蕉放下往返走,但是必须保证它每走一米都能有香蕉吃。也可以走到 n 米时,放下一些香蕉,拿着...
西邮Linux兴趣小组2023纳新面试题题解
学长寄语:长期以来,西邮Linux兴趣小组的面试题以难度之高名扬西邮校内。我们作为出题人也清楚的知道这份试题略有难度。请你动手敲一下代码。别担心,若有同学能完成一半的题目,就已经十分优秀。其次,相比于题目的答案,我们对你的思路和过程更感兴趣,或许你的答案略有瑕疵,但你正确的思路和对知识的理解足以为你赢得绝大多数的分数。最后,做题的过程也是学习和成长的过程,相信本试题对你更加熟悉的掌握C语言的一定有所帮助。祝你好运。我们东区逸夫楼FZ103见! 本题目只作为西邮Linux兴趣小组2023纳新面试的有限参考。 为节省版面,本试题的程序源码省去了#include指令。 本试题中的程序源码仅用...
西邮Linux兴趣小组2022纳新面试题题解
学长寄语:长期以来,西邮linux兴趣小组的面试题以难度之高名扬西邮校内。我们作为出题人也清楚的知道这份试题略有难度。请你动手敲一敲代码。别担心,若有同学能完成一半的题目,就已经十分优秀。其次,相比于题目的答案,我们对你的思路和过程更感兴趣,或许你的答案略有瑕疵,但你正确的思路和对知识的理解足以为你赢得绝大多数的分数。最后,做题的过程也是学习和成长的过程,相信本试题对你更加熟悉地掌握C语言一定有所帮助。祝你好运。我们东区逸夫楼FZ103见! 本题目只作为西邮Linux兴趣小组2022纳新面试的有限参考。 为节省版面,本试题的程序源码省去了#include指令。 本试题中的程序源码仅...


