- 博客(10)
- 收藏
- 关注
原创 kafka
消息队列是一种异步通信模型,允许不同系统或模块之间通过消息进行解耦协作,核心思想是生产者发送消息,消费者异步接收消息,中间由队列负责存储与转发。本质是就是个队列,FIFO先入先出,只不过队列中存放的内容是message,从而叫消息队列。。就像一个“传送带”,生产者放数据,消费者按需取数据。
2025-07-31 21:25:39
1094
原创 MYSQL
当前读是指读取数据的最新版本,即读取数据库中最新提交的行数据。在读取时会对该记录加锁,保证其他事务不能修改这条数据。快照读是指读取数据的一个历史版本快照,不是实时最新的数据版本。快照读不会加锁,称为非阻塞读。Undo Log 是 InnoDB 存储引擎用于实现 事务回滚 和 MVCC 的核心机制。它记录了数据变更前的旧值(也叫旧版本),支持:事务回滚(事务一致性)快照读(MVCC 多版本并发控制)
2025-07-29 10:19:47
965
原创 协程设计
协程库中为了实现 非阻塞 IO + 协程挂起/恢复 的能力,常用的一种技术是:hook(钩子)系统调用,即 重定义系统的阻塞 IO 函数(如。
2025-07-24 16:36:08
765
原创 网络Posix API
bind()用于将一个套接字与本地的地址(IP 和端口)进行绑定。这通常用于服务器端,明确指定监听的 IP 地址和端口号。listen()用于将一个已绑定(bind())的套接字标记为被动监听状态,使其可以等待客户端的连接请求。通常用于 TCP 服务器端,开启监听后,服务器可以接受来自客户端的连接。accept()用于从已监听的套接字中接受一个客户端的连接请求。调用后,服务器与客户端之间建立连接,返回一个新的套接字描述符用于和该客户端通信,原监听套接字继续监听其他连接。connect()用于。
2025-07-23 11:35:48
976
原创 设计模式
工厂父类负责定义创建产品对象的公共接口,而工厂子类则负责生成具体的产品对象,这样做的目的是将产品类的实例化操作延迟到工厂子类中完成,即通过工厂子类来确定究竟应该实例化哪一个具体产品类。提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们具体的类。单例模式是一种创建型模式,其核心目的是保证一个类在系统中只有一个实例,并提供全局访问点。这种模式适用于如窗口管理器、文件系统、任务调度器、ID 生成器等场景。
2025-07-22 18:45:15
791
原创 认识bloom_filter
布隆过滤器(Bloom Filter)是一种用空间换时间的概率型数据结构,可高效判断元素是否存在于一个集合中,具有“零假阴、有假阳”(“绝对不存在”或“可能存在”)的特点本文将分为以下几部分:这是整个布隆过滤器系统的“参数配置器”,用于根据用户期望的插入元素数量和误判率,自动计算出最合适的:哈希函数个数 bit位图大小 存储用户定义的约束(如最小最大表大小、哈希次数、元素数量)自动计算最优参数组合()校验参数合法性(通过 )compute_optimal_parameters()此函数根据经典布隆过滤器理论
2025-07-22 11:34:51
304
原创 c++实现b树
每个节点最多有M-1个关键字(key)M个子树指针每个非根节点至少有个关键字(为了保证了树的紧凑性和平衡性,防止树退化成链表)所有叶子节点处于同一层关键字在节点中按递增排列,子树区间有序插入和删除后必须保持平衡(通过分裂或合并)代码实现(以3阶b树为例)
2025-07-21 19:57:26
592
原创 c++实现红黑树
通过while (z->parent && z->parent->color == RED)说明前节点的父节点是红色,需要修复,这是一个不断向上更新的过程。首先通过insert函数查找到要插入的位置,在红黑树中插入一个新值,并在插入后修复红黑树性质。对于修复红黑树的核心是解决红黑树的性质冲突,在发生插入后可能会发生以下的性质冲突。(这里我们要记住我们插入之前的红黑树它已经是红黑树了,没用性质冲突)父变黑,叔变黑,祖父变红,然后把当前指针上移一层继续修复。刚插入的节点一定是红的,不然就违背了性质5。
2025-07-21 13:48:05
340
原创 手写shared_ptr
本文解析了C++共享指针shared_ptr的简易实现,重点剖析了其核心设计机制。通过原子引用计数器实现线程安全的资源管理,在拷贝构造/赋值时递增计数,析构时递减计数,计数归零时自动释放资源。文章详细介绍了指针的拷贝/移动语义、资源释放逻辑以及常用操作符实现,展示了智能指针如何通过引用计数机制实现自动化内存管理,有效避免内存泄漏问题。
2025-07-16 16:53:00
301
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅