自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小羊的博客

没有一点水份的干货

  • 博客(168)
  • 收藏
  • 关注

原创 【Linux网络】多路转接:select、poll、epoll

多路转接方法是一种高效的网络通信手段,它通过允许单个进程或线程同时监听多个IO事件,实现了在单线程/进程场景下的并发处理。在选择具体的实现方法时,需要根据应用场景和需求进行权衡和选择。

2025-03-10 08:00:00 1408 9

原创 【C++】unique_ptr、shared_ptr、weak_ptr,傻傻分不清楚

内存泄漏指因为疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并不是指内存在物理上的消失,而是应用程序分配某段内存后,因为设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏的危害:长期运行的程序出现内存泄漏,影响很大,如操作系统、后台服务等等,出现内存泄漏会导致响应越来越慢,最终卡死。解决内存泄漏的问题,使用智能指针管理是一个很好的选择。

2024-10-26 20:26:28 2596 120

原创 【C++】C++11新特性—右值引用,来看看怎么个事儿

传统的C++语法中就有引用的语法,而C++11中新增了的右值引用语法特性,所以从现在开始我们之前学习的引用就叫做左值引用。无论左值引用还是右值引用,都是给对象取别名。

2024-10-21 07:19:30 4176 149

原创 【C++】处理好哈希冲突我就可以出师了

哈希结构,是一种通过特定函数(哈希函数)将关键码映射到表中的一个位置,那么在查找时通过该函数就可以很快的找到该元素。

2024-10-15 09:41:16 11540 156

原创 【C++进阶】2024年了set、map还搞不懂底层细节?

关联式容器也是用来存储数据的,与序列式容器不同的是,关联式容器里面存的是结构的键值对,在数据检索时比序列式容器效率更高。set:存储唯一键的集合multiset:存储可以有重复键的集合map:存储唯一键及其关联值的映射multimap:存储可以有重复键及其关联值的映射特点:内部以红黑树实现,元素默认按键的升序排列,支持快速查找、插入和删除操作set文档介绍。使用set需要包头文件。

2024-09-25 09:13:38 1696 116

原创 【LeetCode热题100】岛屿数量 / 腐烂的橘子 / 课程表 / 实现 Trie (前缀树)

岛屿数量:使用深度优先搜索(DFS)遍历二维矩阵,统计连通'1'区域的数量。 腐烂的橘子:采用BFS模拟腐烂过程,计算所有橘子腐烂所需时间,若有新鲜橘子则返回-1。 课程表:通过拓扑排序检测有向图是否存在环,判断课程能否完成。 前缀树实现:构建Trie树结构,实现高效的字符串插入和搜索功能。每道题均提供核心代码实现和解题思路。

2025-11-26 23:11:54 23

原创 MySQL表的约束:从基础到核心(附场景+案例)

本文介绍了MySQL中常用的六种约束类型,分为基础约束和核心约束两类。基础约束包括:空属性(NOT NULL)、默认值(DEFAULT)、列描述(COMMENT)和零填充(ZEROFILL),主要用于控制字段的基本规则。核心约束包含主键(PRIMARY KEY)、自增长(AUTO_INCREMENT)、唯一键(UNIQUE)和外键(FOREIGN KEY),这些约束能确保数据的唯一性和表间关联性。文章通过具体SQL案例详细说明了每种约束的语法、作用和使用场景,并对比了主键与唯一键的区别,强调了外键在维护表间

2025-11-26 22:47:43 1029

原创 MySQL数据类型全解析

MySQL数据类型选择指南 本文系统介绍了MySQL常用数据类型的选择技巧。数值型需注意范围限制,如TINYINT有符号范围-128~127,超出会报错;高精度计算推荐DECIMAL而非FLOAT。字符串型中,CHAR适合固定长度(如身份证),VARCHAR适合变长数据(如姓名)。时间类型中TIMESTAMP可自动更新,适合记录修改时间。特殊类型ENUM和SET分别用于单选框和多选框场景,但查询SET需使用find_in_set函数。文章还提供了实用避坑建议,如避免UNSIGNED整数、金额使用DECIMA

2025-11-26 17:15:07 585

原创 MySQL 架构、存储引擎、库表操作一站式掌握

本文介绍了MySQL数据库的基础知识,包括数据库概念、MySQL架构、SQL分类和存储引擎。重点讲解了库操作(创建、修改、删除、备份恢复)和表操作(创建、查看结构、修改、删除),并详细说明了字符集与校验规则的作用。通过具体SQL示例,帮助读者掌握MySQL的基本使用方法和注意事项,为后续深入学习数据库管理奠定基础。

2025-11-26 16:35:52 769

原创 MySQL 复合查询与内外连接完全指南

本文介绍了MySQL复合查询的多种方法,包括基本查询回顾、多表查询、自连接、子查询(单行/多行/多列)、from子句中的子查询以及合并查询。通过公司管理系统的EMP、DEPT、SALGRADE三张表演示了实际应用场景,如部门平均工资查询、员工领导查找、工资级别判断等。重点讲解了子查询的嵌套使用技巧和union/union all的合并查询区别,帮助读者掌握复杂数据查询的综合应用能力。

2025-11-25 22:24:17 774

原创 MySQL 查询慢到崩溃?这篇索引实操指南帮你搞定

摘要 本文深入解析MySQL索引的核心机制与实现原理。首先阐述了索引的价值在于通过"空间换时间"提升查询效率,对比分析了无索引场景下的性能痛点。接着从磁盘存储原理出发,详细介绍了操作系统与MySQL的IO交互差异(4KB vs 16KB Page)。重点剖析了B+树索引的底层结构,包括单Page内的页目录优化和多Page的树形组织,并通过对比B树、Hash等数据结构验证B+树的优势。最后区分了InnoDB聚簇索引和MyISAM非聚簇索引的特性差异,并给出主键索引和唯一索引的创建实战示例。

2025-11-10 21:38:50 1303

原创 从 ACID 到 MVCC,MySQL 事务与隔离级别超详解

本文系统介绍了MySQL事务的核心概念与应用。首先阐述了事务作为DML语句逻辑单元的基本特性,通过售票案例说明事务的必要性。重点分析了事务的ACID属性(原子性、一致性、隔离性、持久性)及其实现原理,对比了InnoDB和MyISAM对事务的支持差异。详细讲解了事务的提交方式、基本操作流程和隔离级别(RU/RC/RR/SERIALIZABLE),特别深入探讨了MVCC机制的实现原理,包括隐藏字段、undo日志、Read View结构以及RR与RC级别的本质区别。最后提供了事务使用的实践建议,强调根据业务场景选

2025-11-07 19:02:10 1221

原创 【LeetCode 热题 100】只出现一次的数字 / 多数元素 / 颜色分类 / 寻找重复数

很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~

2025-06-11 11:42:23 505 1

原创 【LeetCode 热题 100】最小路径和 / 最长回文子串 / 最长公共子序列 / 编辑距离

最小路径和 / 最长回文子串 / 最长公共子序列 / 编辑距离

2025-05-29 18:01:04 493 1

原创 【LeetCode 热题 100】打家劫舍 / 零钱兑换 / 单词拆分 / 乘积最大子数组 / 最长有效括号

打家劫舍 / 零钱兑换 / 单词拆分 / 乘积最大子数组 / 最长有效括号

2025-05-27 20:41:34 583

原创 【LeetCode教你买股票】买卖股票的最佳时机

很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~

2025-05-27 13:15:42 401

原创 【LeetCode 热题 100】买卖股票的最佳时机 / 跳跃游戏 / 划分字母区间

【LeetCode 热题 100】买卖股票的最佳时机 / 跳跃游戏 / 划分字母区间

2025-05-26 18:39:00 524

原创 【LeetCode 热题 100】有效的括号 / 最小栈 / 字符串解码 / 柱状图中最大的矩形

有效的括号 / 最小栈 / 字符串解码 / 柱状图中最大的矩形

2025-05-20 19:26:16 629

原创 【今日三题】旋转字符串 / 合并k个已排序的链表 / 滑雪(dfs)

旋转字符串 / 合并k个已排序的链表 / 滑雪(dfs)

2025-05-19 14:06:51 394 1

原创 【LeetCode 热题 100】搜索插入位置 / 搜索旋转排序数组 / 寻找旋转排序数组中的最小值

搜索插入位置 / 搜索旋转排序数组 / 寻找旋转排序数组中的最小值

2025-05-16 20:55:43 658 1

原创 MySQL 表操作核心:CRUD 实战 + group by + 聚合函数用法

这篇文章介绍了MySQL中CREATE和RETRIEVE操作的基本用法。在CREATE部分,详细讲解了全列插入、指定列插入、多行插入等数据插入方法,以及处理主键/唯一键冲突的插入否则更新和替换操作。RETRIEVE部分展示了如何创建测试表exam_result并插入示例数据,最后演示了全列查询的基本语法。文章通过清晰的SQL示例和结果展示,帮助读者掌握MySQL的基础数据操作技巧。

2025-05-15 17:03:35 924

原创 【LeetCode 热题 100】反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存

反转链表 / 回文链表 / 有序链表转换二叉搜索树 / LRU 缓存

2025-05-15 00:11:39 1467

原创 【LeetCode 热题 100】全排列 / 子集 / 组合总和 / 分割回文串 / N 皇后

全排列 / 子集 / 组合总和 / 分割回文串 / N 皇后

2025-05-14 19:21:52 624 2

原创 【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树

二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树

2025-05-13 21:14:18 988

原创 【今日三题】素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)

素数回文(模拟) / 活动安排(区间贪心) / 合唱团(动态规划)

2025-05-11 18:46:43 479 1

原创 【今日三题】ISBN号码(模拟) / kotori和迷宫(BFS最短路) / 矩阵最长递增路径(dfs)

ISBN号码(模拟) / kotori和迷宫(BFS最短路) / 矩阵最长递增路径(dfs)

2025-05-08 15:45:15 465

原创 【今日三题】跳台阶扩展问题(找规律) / 包含不超过两种字符的最长子串 / 字符串的排列(回溯—全排列)

跳台阶扩展问题(找规律) / 包含不超过两种字符的最长子串 / 字符串的排列(回溯—全排列)

2025-05-07 23:13:50 490

原创 基于Boost库、Jsoncpp、cppjieba、cpp-httplib等构建Boost搜索引擎

Boost库作为C++的准标准库,提供了许多C++没有的功能,但其官网没有站内搜索功能。Boost搜索引擎项目旨在为Boost库提供站内搜索服务,方便用户快速查找所需资源

2025-05-05 16:31:16 2420 1

原创 【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)

【今日三题】小红的口罩(小堆) / 春游(模拟) / 数位染色(01背包)

2025-05-05 14:15:40 371

原创 【今日三题】排序子序列(模拟) / 消减整数(贪心) / 最长上升子序列(二)(贪心+二分)

排序子序列(模拟) / 消减整数(贪心) / 最长上升子序列(二)(贪心+二分)

2025-05-03 15:23:04 180

原创 【序列贪心】摆动序列 / 最长递增子序列 / 递增的三元子序列 / 最长连续递增序列

摆动序列 / 最长递增子序列 / 递增的三元子序列 / 最长连续递增序列

2025-05-03 14:31:25 489

原创 【今日三题】爱吃素(数学) / 相差不超过k的最多数(滑动窗口) / 最长公共子序列(一)(两个数组的dp)

爱吃素(数学) / 相差不超过k的最多数(滑动窗口) / 最长公共子序列(一)(两个数组的dp)

2025-05-03 12:39:10 485

原创 【今日三题】游游的重组偶数(模拟) / 体操队形(回溯) / 二叉树中的最大路径和(树形dp)

游游的重组偶数(模拟) / 体操队形(回溯) / 二叉树中的最大路径和(树形dp)

2025-05-03 11:48:20 441

原创 基于C++、JsonCpp、Muduo库实现的分布式RPC通信框架

本项目将基于C++、JsonCpp、muduo网络库实现一个简单、易用的RPC通信框架,它将实现同步调用、异步回调、异步futrue调用、服务注册/发现,服务上线/下线及发布订阅等功能。

2025-05-02 18:50:24 1795 10

原创 【今日三题】kotori和气球(排列) / 走迷宫(BFS最短路) / 主持人调度(二)(贪心+优先级队列)

kotori和气球(排列) / 走迷宫(BFS最短路) / 主持人调度(二)(贪心+优先级队列)

2025-05-01 00:02:53 830

原创 【今日三题】小红的ABC(找规律) / 不相邻取数(多状态dp) / 空调遥控(排序+二分/滑动窗口)

小红的ABC(找规律) / 不相邻取数(多状态dp) / 空调遥控(排序+二分/滑动窗口)

2025-04-29 23:21:44 618

原创 【LeetCode 热题 100】矩阵置零 / 螺旋矩阵 / 旋转图像 / 搜索二维矩阵 II

矩阵置零 / 螺旋矩阵 / 旋转图像 / 搜索二维矩阵 II

2025-04-29 17:10:03 585

原创 【今日三题】笨小猴(模拟) / 主持人调度(排序) / 分割等和子集(01背包)

【今日三题】笨小猴(模拟) / 主持人调度(排序) / 分割等和子集(01背包)

2025-04-27 22:36:49 416

原创 【LeetCode 热题 100】滑动窗口最大值 / 最小覆盖子串 / 轮转数组 / 缺失的第一个正数

滑动窗口最大值 / 最小覆盖子串 / 轮转数组 / 缺失的第一个正数

2025-04-25 16:04:22 1099 1

原创 【HTTPS协议原理】数据加密、如何防止中间人攻击、证书和签名、HTTPS完整工作流程

数据加密、如何防止中间人攻击、证书和签名、HTTPS完整工作流程

2025-04-22 19:26:25 2004 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除