深入理解C/C++
文章平均质量分 83
本专栏意在对教材上很少涉及的更加深层的内容进行阐述。
HilariousDog
email: fyli88@qq.com
记录所学,帮助成长。Good luck!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++模板参数类型推导分析一二
如题原创 2025-02-28 00:53:28 · 586 阅读 · 0 评论 -
总结gcc与msvc在标准库实现上的不同
如标题原创 2025-02-28 00:09:05 · 348 阅读 · 0 评论 -
spdlog高性能日志系统
`spdlog` 是一个快速、简单、功能丰富的 C++ 日志库,专为现代 C++ 开发设计。它支持多种日志后端(如控制台、文件、syslog 等),并提供灵活的格式化和线程安全的日志输出。原创 2024-12-10 23:43:18 · 1546 阅读 · 0 评论 -
Redis4——持久化与集群
本文讲述了1.redis在内存占用达到限制后的key值淘汰策略;2.redis主从复制原理;3.redis的哨兵模式;4.redis集群模式。原创 2024-12-04 18:18:18 · 1423 阅读 · 0 评论 -
Redis3——线程模型与数据结构
本文讲述了redis的单线程模型和IO多线程工作原理,以及几个主要数据结构的实现。原创 2024-11-30 21:16:36 · 1422 阅读 · 0 评论 -
Redis2——协议与异步方式
本文讲述了Redis pipeline技术,它被用于一次发送和执行多个命令;事务的ACID特性,Redis只能部分满足;最后介绍了实现了Redis客户端的同步连接和异步连接方式。原创 2024-11-28 21:16:12 · 996 阅读 · 0 评论 -
Redis1——基本命令及原理
本文介绍了redis的特点、五种数据类型、基本命令等。原创 2024-11-26 20:38:14 · 1395 阅读 · 0 评论 -
MySQL4——缓存策略
本文讲述了Mysql缓存方案的原理、其它改进方案、缓存读写策略、缓存一致性的分析与实现,数据增量同步的实现方式:伪装从库、udf+触发器。最后还分析了该缓存方案可能出现的故障及解决方案,以及其弊端。原创 2024-11-25 18:46:03 · 999 阅读 · 0 评论 -
MySQL3——事务原理
本文讲述了mysql中事务的概念、原理,重点讲述了四种隔离级别、mvcc、锁以及死锁问题。原创 2024-11-24 19:52:38 · 858 阅读 · 0 评论 -
MySQL2——索引原理和SQL优化
本文讲述了mysql的InnoDB存储引擎的索引存储原理、索引匹配原则以及SQL的优化等。原创 2024-11-21 13:12:28 · 942 阅读 · 0 评论 -
MySQL1——基本原理和基础操作
本文讲述了mysql数据库的基本概念、原理和常用CRUD语句。原创 2024-11-20 15:15:59 · 918 阅读 · 0 评论 -
linux网络编程10——内存池
本文讲述了内存池的概念、原理、好处,并且实现了两种类型的内存池:固定大小的内存池和分级内存池。最后分别对这两种内存进行了性能测试,测试结果表明,在简单的频繁分配和释放动态内存块的场景下,这两种内存池至少能够提高一倍的性能。原创 2024-11-18 16:50:12 · 1426 阅读 · 0 评论 -
高级数据结构——hash表与布隆过滤器
本文讲述了hash表的原理与实现、hash冲突及解决方法、基于位图和hash函数实现的布隆过滤器、以及用于负载均衡的分布式一致性hash等。原创 2024-11-16 20:29:36 · 1443 阅读 · 0 评论 -
linux网络编程9——无锁队列
本文讲述了无锁队列的原理、分类、底层数据结构、应用场景,以及两种实现方式。原创 2024-11-14 21:23:00 · 1345 阅读 · 0 评论 -
linux网络编程8——原子操作CAS与锁实现
本文讲述了原子操作的原理、缓存一致性协议MESI、和原子操作的6种内存序,最后利用原子变量和内存序实现了一个自旋锁。原创 2024-11-12 17:19:25 · 1090 阅读 · 0 评论 -
linux链接、目标文件全解析
在编译时,编译器向汇编器输出每个全局符号,要么是强,要么是弱,汇编器会把强弱信息隐含在符号表中。所谓强符号,是指函数和已初始化的全局符号,而弱符号就是未初始化的全局变量。请牢记定义。规则1:不允许有多个同名的强符号。规则2:如果有一个强符号和多个弱符号同名,那么选择强符号。规则3:如果有多个弱符号同名,那么从这些弱符号中任意选择一个。// 强符号int y = 12;// 强符号int main()f();return 0;原创 2024-10-22 16:59:23 · 1367 阅读 · 0 评论 -
C++内存对齐的原因
原因硬件原因,cpu不是一个字节一个字节读取内存的,而是一次读取一块,因此按照块的大小进行内存对齐,可以提高cpu访问内存的速度。平台原因,不是所有硬件平台都支持访问任意地址的内存,某些平台只能在一些地址处获取特定类型的数据,否则抛出硬件异常。原创 2023-11-18 10:46:12 · 255 阅读 · 0 评论 -
static_cast,const_cast,reinterpret_cast, dynamic_cast的功能与区别
这四种类型转换操作符功能有所不同,对应不同的使用场景。原创 2023-10-19 15:29:00 · 208 阅读 · 0 评论 -
C++学习——解析为什么不能自动合成的而又未显示删除的移动操作(move operations)会处于未定义状态
Explain why is a move operation that is not automatically synthesized but does not show deletion left undefined.原创 2023-10-16 22:25:02 · 310 阅读 · 1 评论
分享