自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java的多态实现机制

Java 中的多态和实现机制

2025-07-02 14:52:04 928

原创 C++中的虚函数表

C++中的虚函数表

2025-07-01 15:40:15 491

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

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

2025-07-01 15:18:30 317

原创 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 647

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

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

2025-06-26 07:38:58 1158

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

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

2025-06-25 09:05:10 309

原创 C++中的shared_ptr和unique_ptr

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

2025-06-25 07:32:38 951

原创 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 828

原创 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 1073

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

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

2025-06-13 11:44:47 902

原创 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 380

原创 RAG入门 - Reader(2)

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

2025-06-03 22:04:30 886

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

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

2025-06-03 12:33:07 207

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

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

2025-06-02 18:21:55 209

原创 RAG入门 - Retriever(1)

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

2025-06-02 18:15:24 1259

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

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

2025-05-23 14:30:00 350

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

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

2025-05-23 14:02:41 679

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

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

2025-05-18 10:31:30 918

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

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

2025-05-16 18:50:59 950

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

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

2025-05-15 19:44:53 971

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

线程池实现原理之addWorker

2025-05-15 09:16:59 935

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

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

2025-05-13 19:28:37 561

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

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

2025-05-13 19:24:19 1193

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

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

2025-05-12 19:16:45 1151

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

Huggingface 的模型格式 SafeTensors 解释

2025-05-12 18:58:55 1015

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

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

2025-05-11 09:44:19 1168

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

AQS中Condition的使用和实现原理

2025-05-10 10:05:59 567

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

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

2025-05-10 09:48:41 1460

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

AQS的使用示例:读写锁; 锁的升级与降级

2025-05-09 08:50:03 866

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

AQS用法:自定义独占锁和共享锁

2025-05-09 08:44:18 655

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

AQS典型示例一:ReentrantLock的实现

2025-05-08 08:49:35 680

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

AQS共享式同步状态获取与释放源码分析,AQS使用的模板方法

2025-05-08 08:44:55 753

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

AQS 独占式同步状态获取,LockSupport.park(this) 及 WaitStatus状态值解析

2025-05-07 09:19:07 876

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

AQS 独占式同步状态获取与释放

2025-05-07 09:10:33 795

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

介绍Java并发编程中锁的使用和实现,第一部分

2025-05-06 19:07:17 774

原创 记一次ffmpeg延迟问题排查

在使用ffmpeg实时解码H.264视频帧时,发现前端显示的图像存在1-2秒的延迟。通过分析链路耗时发现,从摄像头采集到输入ffmpeg管道的耗时约为200ms,表明问题可能出在ffmpeg处理过程中。进一步测试发现,ffmpeg在处理H.264文件时效率较高,但实时处理时似乎存在数据堵塞。通过复现问题,发现ffmpeg在处理图像前会积累一定数量的帧,导致延迟。分析日志发现,probesize参数控制了ffmpeg初始分析阶段读取的数据量,尝试将其设置为较小值后,问题有所缓解,但仍未完全解决。

2025-05-06 09:26:25 2032

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

C++ windows 使用 cmake 打exe免安装包

2025-05-05 09:19:03 913

原创 Java并发编程-多线程基础(五)

Java并发编程之ThreadLocal

2025-05-05 09:08:45 150

原创 Java并发编程-多线程基础(四)

线程间通信: 等待通知机制、虚假唤醒

2025-05-04 10:45:13 1198

原创 Java并发编程-多线程基础(三)

线程间通信: volatile 和 synchronize 关键字

2025-05-04 10:44:28 806

软件工程工具与调试

软件工程工具与调试 课堂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关注的人

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