自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 QT的环境配置

操作命令添加所有改动git add .提交到本地git commit -m "说明"推送到远程git push拉取更新git pull查看状态git status查看历史切换分支git checkout <分支名>修改 →git add .→git commit -m "说明"→git push,三步完成日常提交。分支管理和撤销操作按需使用即可。

2026-08-15 17:50:17 172

原创 Redis详解

什么是Redis?全称:Remote Dictionary Server,远程字典服务。定义:是一个开源、基于键值对(Key-Value)的、NoSOL型数据库。背景:由C语言编写,2009年发布。特点:数据存储在内存中,读写速度极快,支持持久化落盘,数据断电不丢失。场景:可做数据缓存,会话保存,限流计数,消息队列,超时控制等。比喻:普通MySQL数据存在硬盘,就如图纸质档案柜,CRUD很慢;Redis数据放在内存条里,好比把常用资料摊在桌面随手拿,速度快几百上千倍。

2026-08-03 11:27:28 159

原创 基于C++20的Epoll嵌套协程异步网络

本文件提供三件基础能力:全局Epoll事件循环、网络异步等待器。基于底层Task封装两层业务协程,拆分IO操作与业务计算逻辑。、通用可嵌套Task协程模板。

2026-07-30 19:29:53 201

原创 实现可分步恢复且支持返回值的任务协程

明确了是协程的状态与数据核心,承担返回值存储、挂起策略定义的核心作用co_await实现协程主动挂起,resume()实现外部唤醒,完成分段执行逻辑co_return配合方法,可安全实现协程返回值传递自定义 Task 封装协程句柄,通过移动语义和自动销毁机制,实现了安全的协程生命周期管理该demo是C++20协程的基础核心模型,可在此基础上扩展异步IO、线程调度、超时控制等高级功能,是异步编程、协程框架开发的基础。

2026-07-29 21:20:09 352

原创 基于BPF的进程上下文切换异常监控

基于BPF的进程上下文切换异常监控项目

2026-07-24 17:30:53 203

原创 基于 gRPC 框架和 Protocol Buffers (Protobuf) 的通讯录管理项目(C++)

基于 gRPC 框架和 Protocol Buffers (Protobuf) 的通讯录管理项目(C++)

2026-07-21 21:49:40 170

原创 协程 + epoll 网络框架

采用两层解耦架构,实现用户态的高效并发管理。协程的状态流转路径如下:就绪 (Ready)➔ 运行 (Running)➔ 挂起 (Suspend)➔ 恢复 (Resume)➔ 死亡 (Dead)协程 + epoll。

2026-04-01 17:49:01 393

原创 io_uring知识点总结

忙轮询模式:循环处理,CPU 核心占用 100%,延迟最低。等待模式:通过系统调用通知,适合事件较少的情况。

2026-03-26 20:20:51 375

原创 Protocol Buffer (Protobuf) 核心笔记

序列化:把对象转为字节序列。反序列化:把字节序列恢复为对象。原理:序列化后数据不含字段名,仅含编号,极大压缩体积,需配合.proto文件解析。定义:描述不同程序间如何通信的说明,是一个通用的协议模板,让不同语言编写的程序能够互通。使用:通信双方共用一份.proto文件,编译生成各自语言的代码,实现跨语言通信。场景跨语言、跨平台需求。同一项目内部解耦(如前后端分离)。现实应用:Protocol Buffer 就是 IDL 这一概念的典型实现。

2026-03-26 10:28:29 394

原创 关于Linux环境下使用proto生成文件路径问题

现在有ProtoBuf目录,下有src、proto、build三个文件夹proto下有person.proro文件,现在要用proto生成cpp文件。

2026-03-25 16:59:12 46

原创 spdlog知识点

内存屏障是一种底层同步机制,防止编译器和CPU对指令进行优化,重新排序,扰乱多线程逻辑,并保证内存可见性。互斥锁,延迟初始化。第一次检查避免每次调用都加锁,提高性能,第二次检查确保加锁后实例仍未创建。通过编译优化(模板和内联函数),只有真正需要日志才会执行,不会浪费性能。程序启动时单线程初始化,非延迟初始化,存在静态初始化顺序风险。1.C++11中,静态局部变量和初始化是线程安全的,无需加锁。对象不提前创建,而是第一次使用时才创建,节省资源,更安全。3.双重检查锁定,先检测是否创建,加锁时再创建一次。

2026-03-25 12:33:42 329

原创 关于PIE到底基地址随机化引起的问题和解决方案

问题:在检测内存泄露时,我们需要记录调用函数和行号,而这些符号信息通常由地址去解析,由于PIE的存在,我们无法定位,导致解析失败,报:?解决方案1:在编译时加入命令:-fno-pie -no-pie。通过这条命令就可以关闭PIE,定义:PIE是Ubuntu下GCC编译器的默认选项,每次运行程序会让基地址随机化。在解析地址之前,先用函数处理一下,就可以成功解析了。解决方案2:创建一个函数,手动删掉随机基地址。

2026-03-17 10:28:12 38

原创 手写Linux死锁检测器:基于有向图环实现检测与总结

死锁的本质是产生资源依赖环,我们只需检测是否有环产生便可以检测出死锁。我们可以用有向图对资源进行建模:节点:线程节点、锁节点。边:请求边-线程请求锁-即线程-->锁。持有边-线程持有锁-即锁-->线程。图:使用邻接表,邻接数组,数组的每个索引上挂一个链表。

2026-03-15 20:13:44 51

原创 将线程和锁构建图(后续通过检测环路以检测死锁)

该代码实现了一个线程死锁检测系统,通过劫持pthread_mutex_lock/unlock函数来监控锁操作。系统维护线程和锁的ID映射数组,构建有向图表示线程与锁的关系(持有或请求状态)。当检测到锁冲突时,会记录状态转换。

2026-03-13 11:00:03 48

原创 为什么函数指针要加一个typedef?

typedef可以帮助我们,在面对多个同样的函数指针时,方便构建代码。

2026-03-11 19:05:51 35

原创 无锁循环队列的代码实现(C++)

本文实现了一个线程安全的环形缓冲区

2026-02-01 18:14:07 42

原创 怎么使用Visual Studio2022连接MySQL数据库

如何用visualstudio连接MySQL数据库并添加数据

2024-09-01 21:39:34 8274

原创 Visual Studio 2022创建自定义代码片段模板

snippet片段1[CDATA[]]>片段2[CDATA[]]>

2024-06-11 11:20:56 970

原创 最新版IDEA2024怎么配置部署运行JavaWeb项目和关于运行JavaWeb时出错怎么解决

由于新版IDEA的功能与旧版出入比较大,导致学习JavaWeb的过程中与视频有很大不同,导致运行过程中出现很多错误无法解决,下面介绍一下新版IDEA配置JavaWeb的过程 前提准备:JDK、Maven、Tomcat。确定环境变量配置好(JAVA_HOME、path等) 我自己用的是JDK17、Maven3.9,Tomcat8.5,其他版本也可以,命令行里用startup测试一下能否运行Tomcat,如果不行,就要换版本了注意不要直接创建Maven项目,要创建Java项目选择Maven系统点击设置,打开项目

2024-05-14 19:16:49 3478 2

原创 MySQL连接 :045 - Access denied for user ‘root‘@‘localhost‘ (using password: YES)

输入services.msc,找到mysql服务重启。输入 mysql -u root -p 并输入新密码测试是否能进入。在其中添加:skip-grant-tables。如果上述代码不行,则输入。

2023-07-26 09:30:06 284 1

原创 C++字符串和数字转换

C++中字符串和数字之间的转换

2023-03-28 22:57:18 1519

原创 Servlet报500的问题--HITP Status 500 - Error instantiating servlet class servlet.HelloServlet

Servlet报500的问题--HITP Status 500 - Error instantiating servlet class servlet.HelloServlet

2022-09-17 08:32:38 911

空空如也

空空如也

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

TA关注的人

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