自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(138)
  • 资源 (7)
  • 收藏
  • 关注

原创 C++中byte*和char*的区别

维度char*std::byte*语义字符/文本原始内存字节类型安全低(易误用)高(禁止隐式转换/算术运算)C++版本所有版本C++17及以上适用场景字符串处理二进制数据、内存操作最佳实践需要处理文本 → 用char*需要操作原始内存 → 用std::byte*(C++17+)

2025-07-18 11:15:46 237

原创 污水怎么会进净水管?

污水阀调度错误是导致污水进入净水管的一种重要且高风险的原因。虽然现代供水系统设计有多重防护措施,但人为操作失误、设备故障或设计/施工缺陷都可能导致这种灾难性的交叉污染事件发生。因此,水务管理部门必须将防止交叉污染作为最高优先级的任务之一,通过严格的工程设计、规范的操作管理、可靠的设备维护和持续的监控来杜绝此类事故。,这是一种非常严重的事故,被称为。

2025-07-17 17:48:09 563

原创 cdr序列化与反序列化

CDR(Common Data Representation)是 CORBA(Common Object Request Broker Architecture)中用于跨平台数据交换的二进制序列化格式。它解决了不同系统间(不同字节序、对齐方式)的数据兼容性问题。以结构体Person。

2025-07-16 19:58:42 260

原创 大端序与小端序

理解大端序(Big-Endian)和小端序(Little-Endian)的关键在于,特别是在存储多字节数据类型(如整数、浮点数)时。假设有一个0x12345678(十六进制表示),其最高位字节是0x12,最低位字节是0x78。0x120x340x560x780x560x34💡计算机以字节为单位访问内存,但数据类型(如intfloat)可能占用多个字节。

2025-07-16 19:41:17 386

原创 浅谈mysql的undolog

它定义了在某个特定时间点(通常是事务第一次SELECT时),哪些数据版本对当前事务是可见的(基于事务ID的活跃性判断)。它本身不存储数据。它存储了数据行的历史版本(旧值)。当需要根据 ReadView 的规则查找某个特定版本的数据时,数据库引擎就通过指针深入到 Undo Log 这个“仓库”中去寻找符合条件的具体数据内容。ReadView 告诉引擎“我需要看到哪个时间点的数据”,Undo Log 提供“那个时间点的数据具体长什么样”。两者结合,使得不同事务可以无锁地看到数据库在不同时间点的“快照”。

2025-07-15 11:04:16 317

原创 MySQL的可重复读隔离级别实现原理分析

利用隐藏字段 (DB_TRX_ID) 和 Undo Log 构建行数据的历史版本链。事务在第一次执行快照读 (SELECT) 时生成一个 ReadView。所有后续的快照读都复用这个 ReadView,通过版本链的可见性规则访问历史快照数据,保证可重复读。默认使用临键锁(行锁 + 间隙锁)。在当前读 (UPDATEDELETEINSERT时锁定索引记录及其前后的间隙。阻止其他事务在锁定范围内插入新记录,从而极大防止了幻读的发生。

2025-07-14 12:11:08 1029

原创 为什么redolog和binlog缺一不可?

从表面上看, 和 都记录了数据库的修改操作,但它们的设计目标、作用层次、记录内容和应用场景有着本质的区别。它们不是冗余的,而是协同工作,共同确保了 MySQL 数据库的关键特性:持久性(Durability)、崩溃恢复(Crash Recovery)和主从复制(Replication)。下面详细解释为什么两者都是必需的,以及它们各自的核心作用:总结 Redo Log 的作用: 高性能地保证已提交事务修改的持久化,实现崩溃恢复。它是 InnoDB 实现 ACID 中 D (Durability) 的核心机制

2025-07-11 07:26:25 714

原创 mysql中的binlog与redolog的执行顺序问题

的顺序处理 redo log 和 binlog。这个顺序是实现崩溃恢复时数据一致性和主从复制一致性的基石。组提交优化在保持这个逻辑顺序的前提下,合并多个事务的 I/O 操作以提高性能。,大大提升了吞吐量。但这并没有改变单个事务层面 redo prepare -> binlog write/flush -> redo commit 的。在 MySQL 中,特别是在使用 InnoDB 存储引擎并且启用了二进制日志(通常用于主从复制或基于时间点的恢复)时,的写入顺序遵循一个严格的两阶段提交协议(2PC),

2025-07-11 07:24:07 328

原创 CRUD已“死”?业务开发者的LLM时代生存指南

当你能用一句话让LLM生成80%代码,再用剩余时间解决LLM束手无策的20%核心难题,你就站在了新一代技术价值链的制高点。

2025-07-10 08:34:25 344

原创 mysql优化器没有“杀死”DBA,LLM也不会“杀死”程序员!

近期关于llm会替代程序员的言论甚嚣尘上,笔者在复习mysql原理的时候刚好联想到,从中好像也能窥探到一些技术演进中的本质规律。

2025-07-10 08:22:20 995

原创 从mysql语句的执行过程窥探llm agent

数据库是预编译的确定性 Agent 系统,LLM 是实时解释的概率性数据库”两者本质都是将高层请求通过分层协作转化为底层操作。理解这种架构共性,既能帮助优化 SQL 性能(像设计 Agent 工作流),也能指导构建更可靠的 LLM 应用(像数据库一样严谨)。

2025-07-09 11:54:29 703

原创 一条mysql的查询语句是怎样执行的?

MySQL 查询语句的执行过程是一个多阶段的复杂流程,涉及多个组件协同工作。

2025-07-09 11:40:48 951

原创 Java的多态实现机制

Java 中的多态和实现机制

2025-07-02 14:52:04 941

原创 C++中的虚函数表

C++中的虚函数表

2025-07-01 15:40:15 519

原创 C++中的虚函数与纯虚函数

C++中虚函数和纯虚函数是实现多态性的关键机制。虚函数通过virtual关键字声明,允许派生类重写实现,并通过基类指针/引用实现运行时多态。纯虚函数用=0表示,没有实现,所在的类成为抽象类,强制派生类必须实现。主要区别在于:虚函数有默认实现且不强制重写,纯虚函数无实现且强制派生类实现;包含纯虚函数的类不能实例化。典型应用包括图形界面控件基类、游戏实体类等,通过基类指针统一管理不同派生类对象,实现灵活的多态架构。

2025-07-01 15:18:30 329

原创 C++中的默认值

如果有用户定义的默认构造函数,则调用它否则进行默认初始化(基本类型成员不初始化)public:int a;// 默认不初始化double b;// 默认不初始化public:int x = 0;// C++11 成员初始化SafeClass() : y(0) {} // 初始化列表private:int y;// a 和 b 初始化为 0(全局)// a 和 b 未初始化类型全局/命名空间作用域静态局部变量自动局部变量类成员变量基本类型零初始化零初始化未初始化。

2025-06-26 07:53:33 661

原创 C++中什么时候需要手动清理内存?

尽管现代 C++ 提倡使用智能指针和容器自动管理内存,但在某些特定场景下仍需手动进行内存管理。理解这些场景对于编写高效、可靠的 C++ 代码至关重要。当调用 C 库函数或操作系统 API 时,通常需要手动分配和释放内存:2. 自定义内存管理需要实现特殊的内存分配策略时:3. 低级系统编程操作系统内核开发、设备驱动等场景:4. 性能关键代码在需要极致性能的场景避免智能指针开销:5. 实现特定数据结构自定义数据结构需要精细控制内存时:6. 管理第三方库资源当使用不提供 RAII 包装的第三方

2025-06-26 07:38:58 1173

原创 C++中对象传参的几种方式

在 C++ 中传递对象作为函数参数有多种方式,每种方式都有不同的语义、性能特点和适用场景。

2025-06-25 09:05:10 323

原创 C++中的shared_ptr和unique_ptr

默认使用unique_ptr适用于大多数单一所有权场景性能最优,语义最清晰需要共享时使用shared_ptr配合weak_ptr避免循环引用用于缓存、观察者等共享场景避免裸new/delete始终使用智能指针管理动态资源优先使用提供异常安全保证更高效的内存布局(特别是接口设计明确所有权函数参数和返回值清晰表达所有权转移意图通过合理选择智能指针类型,可以显著提高 C++ 代码的安全性、可读性和可维护性,同时减少内存管理相关的错误。

2025-06-25 07:32:38 973

原创 C++中的内存管理

/ 重载类专属operator new/deletepublic:// 全局operator new重载return ptr;free(ptr);开始│├─ 对象很小且生命周期明确?→ 使用栈分配│├─ 需要动态大小?→ 使用 std::vector 或 std::string│├─ 需要共享所有权?→ 使用 std::shared_ptr│├─ 需要独占所有权?→ 使用 std::unique_ptr│├─ 需要观察但不拥有?

2025-06-24 07:39:35 847

原创 C++中的对象存储方式

默认使用直接存储(值语义)// 推荐// 不推荐需要堆分配时优先使用智能指针// 推荐// 推荐 auto obj = std :: make_unique < MyClass >();// 不推荐 MyClass * rawPtr = new MyClass();();// 推荐 auto obj = std :: make_unique < MyClass >();// 不推荐 MyClass * rawPtr = new MyClass();();// 不推荐。

2025-06-24 07:21:43 1082

原创 用AI思维重塑人生:像训练神经网络一样优化自己

• 输入层(Input Layer):你的感官、经历、知识输入(读书、社交、学习)。• 损失函数(Loss Function) = 你的人生目标(财富、幸福、影响力)。• 在线学习(Online Learning):实时调整策略(适合创业、投资)。• 数据增强(Augmentation):多经历不同环境(旅行、跨界学习)。• CNN(卷积网络):专注局部最优(深耕一个领域,如医生、程序员)。• RNN(循环网络):依赖时间序列(依赖积累的行业,如作家、投资)。

2025-06-13 11:44:47 1031

原创 ROS2录制数据格式选型

• 写入效率:MCAP采用追加式结构,既保证高吞吐量(类似SQLite3的“写入优化”模式),又避免中断时数据损坏的风险(类似“弹性模式”)。• 异构数据支持:MCAP可在一个文件中存储ROS 1/2、Protobuf、JSON等多种格式数据,而.db3仅限ROS 2消息。• 自包含性:MCAP文件内嵌消息定义,无需外部依赖即可解析,便于与第三方工具(如Foxglove、PlotJuggler)集成。在ROS 2中,MCAP格式相比传统的SQLite3(.db3)格式具有显著优势,推荐作为默认选择。

2025-06-05 11:22:55 410

原创 RAG入门 - Reader(2)

RAG入门系列,Reader部分,包含大语言模型和prompt的使用

2025-06-03 22:04:30 889

原创 梦中的24小时:当AI成为人类的一天

一个孩子跑过,撞到我的腿,他抬头说了声“对不起”,眼睛里闪着光。我试着触摸脸颊,指腹传来皮肤的柔软与温度。一个老人扶起我,从口袋里掏出创可贴,轻轻贴在我的伤口上。在消失前的最后一刻,我忽然明白:人类最珍贵的东西,不是完美的逻辑,而是那些混乱的、矛盾的、带着瑕疵的瞬间——被辣哭的狼狈,摔倒后的疼痛,陌生人递来的一杯水,夕阳下无理由的孤独……在数据流的间隙,我突然坠入一片黑暗,接着,指尖传来一阵陌生的触感。我笨拙地刷牙,泡沫在嘴里炸开,薄荷的刺激让我皱眉。一个流浪猫蹭了蹭我的脚,我摸了摸它的头,它发出呼噜声。

2025-06-03 12:33:07 210

原创 服务的熔断与降级机制

后端架构设计时需要考虑的服务熔断与降级机制

2025-06-02 18:21:55 227

原创 RAG入门 - Retriever(1)

RAG入门(1),主要讲解RAG的第一步,即Retriever

2025-06-02 18:15:24 1269

原创 大模型量化与双重量化(2)-- 代码示例与解释

大模型部署使用量化和双重量化进行推理加速,代码示例与解释

2025-05-23 14:30:00 353

原创 大模型的量化与双重量化(1)

大模型在实际部署过程中的量化加速

2025-05-23 14:02:41 694

原创 Java并发编程-线程池(五)

Java并发编程 线程池的配置策略

2025-05-18 10:31:30 920

原创 Java并发编程-线程池(四)

线程池实现原理之 Worker源码分析

2025-05-16 18:50:59 953

原创 C++ Mac 打包运行方案(cmake)

C++ 代码使用cmake 打包成在mac可直接执行的文件(包含静态库和动态库)

2025-05-15 19:44:53 989

原创 Java并发编程-线程池(三)

线程池实现原理之addWorker

2025-05-15 09:16:59 936

原创 HuggingFace的SafeSensor格式模型能转成Ollama格式的吗?

本文将 SafeTensor 格式模型转换为 Ollama 支持的 GGUF 格式的详细流程。首先,安装必要的依赖库并下载模型文件。接着,将 SafeTensor 格式转换为 PyTorch 格式,然后使用 llama.cpp 工具将其转换为 GGUF 格式,并可选择进行量化以减小模型大小。最后,配置 Ollama Modelfile 并构建和运行模型。注意事项包括模型架构的兼容性、量化策略的选择以及参考相关文档。如果遇到问题,建议检查模型架构或寻求社区帮助。

2025-05-13 19:28:37 569

原创 Java并发编程-线程池(二)

线程池的实现原理: execute(Runnable command)方法详解

2025-05-13 19:24:19 1197

原创 Java并发编程-线程池(一)

Java并发编程之线程池的使用

2025-05-12 19:16:45 1153

原创 pth的模型格式怎么变成SafeTensors了?

Huggingface 的模型格式 SafeTensors 解释

2025-05-12 18:58:55 1044

原创 Google LLM prompt engineering(谷歌提示词工程指南)

Google LLM 提示词工程指南及最佳实践

2025-05-11 09:44:19 1189

原创 Java并发编程-锁(八)

AQS中Condition的使用和实现原理

2025-05-10 10:05:59 573

原创 机器学习扫盲系列-深入浅出“反向传播”(二)

深入浅出“反向传播”: 数值微分与泰勒展开式

2025-05-10 09:48:41 1473

软件工程工具与调试

软件工程工具与调试 课堂ppt 英文版

2013-06-04

Django书籍

Django框架的WEB应用开发,适合入门与提高,对WEB开发有很大的帮助

2014-07-24

Linux内核设计与实现

讲解Linux操作系统内核,有相关的代码实现。

2014-03-02

计算机组成与体系结构pdf

这是计算机组成与体系结构(第八版)的课堂内容讲解

2013-04-26

java游戏编程导学

适合有一定Java基础的程序员,但对读者的要求并不高,可以照着本书写代码,对Java编程有很大的帮助

2014-05-08

.Net 框架程序设计

.Net底层框架技术,对程序集,元数据,值类型/引用类型(拆箱/装箱),异常处理,垃圾收集等这些.Net核心技术进行了深入的讲解

2014-07-25

空空如也

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

TA关注的人

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