自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++11】lambda表达式(匿名函数)

该列表总是出现在 lambda 函数的开始位置,编译器根据[]来判断接下来的代码是否为 lambda 函数,捕捉列表能够捕捉上下⽂中的变量供 lambda 函数使用,捕捉列表可以传值或传引用捕捉,具体细节我们后面再细讲。函数指针的定义和书写比较复杂麻烦,仿函数又要定义⼀个类,也相对比较麻烦。函数体内的实现跟普通函数完全类似,在该函数体内,除了可以使⽤其参数外,还可以使⽤所有捕获到的变量,函数体为空也不能省略。,并且&混合捕捉时,后面的捕捉变量必须是值捕捉,同理=混合捕捉时,后面的捕捉变量必须是引用捕捉。

2025-12-31 20:26:52 930

原创 栈在表达式求值中的应用——逆波兰表达式求值+中缀表达式转后缀表达式

栈在表达式求值中的应用

2024-05-04 11:44:28 1115 9

原创 环形链表问题(判环+寻找入环点)

环形链表问题(判断+寻找入环点)

2024-04-03 21:57:24 1190 11

原创 【高阶数据结构】B-树详解

高阶数据结构——B-树详解

2024-02-07 22:09:39 4695 12

原创 深入理解函数栈帧的创建和销毁

详解函数栈帧的创建和销毁

2023-11-07 09:14:15 1092 36

原创 KMP算法详解

字符串匹配算法——KMP算法详解

2023-10-30 09:02:59 1227 8

原创 图详解第四篇:单源最短路径--迪杰斯特拉算法(Dijkstra)算法

单源最短路径--Dijkstra算法

2023-10-17 21:14:40 16261 21

原创 图详解第三篇:最小生成树(Kruskal算法+Prim算法)

最小生成树:Kruskal算法+Prim算法

2023-10-13 13:42:36 27501 5

原创 并查集详解(原理+代码实现+应用+优化)

数据结构并查集详解

2023-10-03 21:49:16 3840 28

原创 【C++11】右值引用和移动语义

右值引用和移动语义(移动构造、移动赋值)详解

2023-09-24 21:24:41 555 20

原创 哈希的应用——布隆过滤器

哈希的应用——布隆过滤器

2023-09-09 15:43:57 1205 28

原创 【高阶数据结构】哈希表详解

哈希表详解:从认识哈希到两种方法(开放定址法+拉链法)实现哈希表,一篇文章带你搞定

2023-08-28 20:06:11 6422 29

原创 【C++】 使用红黑树模拟实现STL中的map与set

使用红黑树模拟实现STL中的map和set

2023-08-21 16:28:03 1130 29

原创 【高阶数据结构】红黑树详解

红黑树详解

2023-08-17 07:17:12 4521 48

原创 【高阶数据结构】AVL树详解

AVL树(平衡搜索二叉树)详解

2023-08-12 15:47:43 1535 50

原创 【C++】详解多态的底层原理

详解多态的底层原理,带你理解多态是如何实现的,什么是虚函数表指针、什么是虚函数表、子类的虚函数表如何生成等问题

2023-07-24 15:00:14 1573 36

原创 【C++】复杂的菱形继承 及 菱形虚拟继承的底层原理

详解C++的菱形继承 及 虚拟继承如何解决菱形继承的数据冗余和二义性问题,继承与组合的对比

2023-07-05 16:36:44 1354 33

原创 【C++】STL——反向迭代器的模拟实现:迭代器适配器

反向迭代器的使用相信大家都已经比较熟悉了,那我们这篇文章具体讲什么呢?这篇文章我们重点来讲一下反向迭代器的模拟实现。那为什么我们之前不和正向迭代器放在一块讲呢?为什么要等到我们讲完了容器适配器再来讲反向迭代器的模拟实现呢?那这个问题我相信学完这篇文章大家就明白了。

2023-05-27 15:26:36 1526 46

原创 【C++】泛型编程——模板初阶

泛型编程——模板初阶:函数模板的概念、使用、原理、实例化、匹配原则;类模板

2023-02-28 13:18:36 2280 77

原创 【C++】C/C++内存管理

C/C++ 内存管理详解:C/C++内存分布、C语言中动态内存管理方式malloc/calloc/realloc/free、new/delete操作符、operator new与operator delete函数、new和delete的实现原理、定位new表达式

2023-02-26 18:01:54 2765 46

原创 【C→C++】打开C++世界的大门

C++入门:什么是C++、命名空间、C++输入输出、缺省参数、函数重载、引用、内联函数、auto关键字、范围for、nullptr

2023-02-05 11:19:00 37321 103

原创 【初阶数据结构与算法】——手撕八大经典排序算法

常见排序算法详解及分析,带你手撕希尔、堆排、快排、归并等经典排序算法

2023-01-30 12:53:42 3780 40

原创 【C进阶】——我们写的代码是如何一步步变成可执行程序(.EXE)的?

写好的代码是如何一步步变成可执行程序的,带你了解程序的编译、链接及执行的全过程。

2022-10-22 17:22:31 21004 19

原创 【C指针详解】进阶篇

C指针进阶:详解1. 字符指针2. 指针数组3. 数组指针3.1 数组指针的定义3.2 &数组名VS数组名3.3 数组指针的使用4. 数组参数、指针参数4.1 一维数组传参4.2 二维数组传参4.3 一级指针传参4.4 二级指针传参5. 函数指针5.1函数的地址5.2函数指针如何书写5.3函数指针如何使用5.4练习6. 函数指针数组 7.指针函数指针数组的指针

2022-09-05 15:17:15 1283 11

原创 【Linux系统编程】Linux底层是如何管理进程的?

正是这种思想,让 Linux 内核在极致的性能、灵活性和简洁性之间取得了不可思议的平衡。

2026-04-08 11:17:13 129

原创 关于论文《使用 FLUSH+RELOAD 缓存侧信道攻击恢复 OpenSSL ECDSA 的随机数》的理解

这篇论文干了什么?用FLUSH+RELOAD攻击OpenSSL的ECDSA签名,恢复了随机数k,拿到了私钥为什么能成功?因为OpenSSL的实现里,k的每个比特会影响程序走哪个if分支,分支对应不同内存地址,FLUSH+RELOAD能探测到我知道了这种缓存侧信道攻击是怎么做的,后面我是要研究如何防御这种攻击的!

2026-04-05 16:57:48 488 1

原创 2026年3月远程软件性能横评:ToDesk、向日葵、RayLink多维度实测分数揭晓

现在跨地域协作越来越普遍,个人设备也越来越多,选一款流畅、安全又好用的远程控制工具,已经成了刚需。本次测评不堆参数、不玩虚的,基于长期真实使用体验,实测ToDesk、向日葵、RayLink三款热门产品,从界面、操作、画质等多核心维度入手,客观分析各款优劣,给大家一份实测分数结果和不踩坑的选择指南。

2026-03-04 16:56:02 10718 61

原创 【MySQL】视图

那如果我们修改了视图,会影响基表中的数据吗?我们来试一试(和对表的操作一样,前面都讲过了)比如,我们把emp表中SMITH的姓名改成smith然后我们来看基表emp能够看到它也变成了小写,即修改视图数据是会影响基表的。

2026-02-26 20:32:51 954

原创 从“祖传代码”到标准工程:飞算JavaAI专业版三剑客,拯救了我的订单模块

Java整洁器先让代码达到“可工作”状态。文档生成器进而让项目达到“可理解”状态。单元测试生成器最终让项目达到“可信任”状态。这三者结合,完美解决了项目维护和交付的核心痛点。相比于GitHub Copilot(以补全见长)或通义灵码(免费版功能有限),飞算JavaAI这种深度集成、面向全链路工程化的思路,对Java开发者来说更具实用价值。而其每月仅9.9元的价格(远低于直接使用智谱4.7等底层模型20元/月的成本),提供的却是企业级的代码质量和开发体验,性价比极高。行动号召。

2026-02-26 19:25:36 298

原创 CANN开源仓Catlass模板库核心能力与编程实战

Catlass 模板库通过“分层架构+组件复用”,解决了昇腾算子开发“门槛高、效率低、性能难优化”的痛点。未来,随着昇腾 AI 处理器迭代,Catlass 将进一步支持稀疏计算、动态 Shape 等场景,成为 AI 原生开发的核心基础设施。CANN 与 Catlass 关系:图:CANN AI架构计算架构图CANN AI架构计算架构图展示其分层结构:上层为深度学习框架适配、创新算子与库、AI应用;

2026-02-26 19:24:19 6039

原创 CANN开源仓Catlass横模库适配自定义模型踩坑录

背景:某客户船脸识别模型含120个小矩阵乘(多头注意力),GPU上性能达标,昇腾NPU迁移后性能下降40%。问题分析:通过msprof定位到“内核启动开销占比52%”(小矩阵乘单次计算量小,频繁启动内核)。解决方案:用Catlass GroupGEMM替换循环调用GEMM,复用BlockMmad组件,一次内核处理所有小矩阵。效果:内核启动开销降至5%,整体性能提升38%(数据来源:客户验收报告)。图7:船脸识别模型迁移前后性能对比图CPU版本下,船名识别模型运行时间约为0.55秒;

2026-02-26 19:24:12 6026

原创 ResNet 图像分类在 openEuler 上的性能大揭秘

在人工智能和深度学习快速发展的背景下,我一直关注图像分类在实际系统上的性能表现。作为经典模型,ResNet 的深层残差网络结构在图像分类中表现优异。我决定在 openEuler 平台上进行全面测试,评测其推理速度、资源占用以及优化策略,并分享我的实践经验,帮助大家在这个系统上实现高效、稳定的 AI 推理。ResNet 是经典的深度卷积神经网络,通过残差连接解决了深层网络的训练困难。今天我将在 openEuler 上部署 ResNet,体验其图像分类能力。

2026-02-26 19:24:07 8915

原创 目标检测模型量化加速在 openEuler 上的实现

知识蒸馏是一种让小模型向大模型“学习”的方法,这样小模型也能有不错的表现,同时更轻量、跑得更快。今天,我会在 openEuler 上演示怎么做知识蒸馏,包括搭建教师模型和学生模型、训练过程以及效果展示,让大家直观看到精度和速度的提升。

2026-02-26 19:23:50 10967

原创 openEuler 上 CUDA 与 ROCm 的 GPU 加速实战

我们将所有平台的性能数据汇总,进行最终的对比。

2026-02-26 19:23:32 8999

原创 【MySQL】表的内连接和外连接

然后就可以引出外连接的概念了:如果把悬浮元组也保留在结果中,其它属性填上空置,那么这种连接就叫做外连接。如果只保留左表中的悬浮元组,那就叫左外连接;如果只保留右表中的悬浮元组,那就叫右外连接。所以,对于上面两张表,外连接的结果应该是这样的那么左外连接就应该是这样:只保留左表的悬浮元组嘛查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来所以左外连接的结果不就是题目想要的嘛。学生id为3,4的两名学生没有成绩,但是也把信息也是出来了。

2026-02-25 16:16:32 1481

原创 【MySQL】SQL里的“套娃”与“拼图”:子查询和合并查询

首先要知道10号部门的工作岗位是什么,然后要找的是工作岗位与这个(10号部门的工作岗位)相同的雇员的信息,包括姓名、岗位、工资、部门号,但是要求雇员不能是10号部门中的。我们前面的文件已经做过简单的了解了,这个文章我们正式来学习它。那同样的,我们说过很多遍了,笛卡尔积中通常是有很多的无意义数据的,比如SMITH这个人,他所在的部门是确定的,那他与tmp表中其它部门的信息组合是无意义的。是30号部门的员工中的最高工资,因为要比30号部门的所有员工工资高嘛,那比部门中最高工资高,自然就比所有员工工资高了。

2026-02-23 20:24:55 1882 4

原创 【MySQL】SQL里的“连连看”:从笛卡尔积到自连接

前面我们讲解的mysql表的查询都是对一张表进行查询,在实际开发中这远远不够。先来复习一下我们之前学过的基本查询,做几道题。

2026-02-14 11:58:14 867 1

原创 【MySQL】数据处理的瑞士军刀——常用的内置函数(下)

这样我们存入的就不是真正的密码,而是密码的MD5 值。不论密码多长,最终得到的都是一个32位等长的字符串。当然MD5() 函数虽然因其安全性问题不再适用于安全领域,但在快速校验、去重、生成标识等非对抗性场景中仍有实用价值。

2026-02-11 21:29:07 653

原创 【MySQL】数据处理的瑞士军刀——常用的内置函数(上)

MySQL提供了数百个内置函数,涵盖数据处理、计算、转换、分析等各个方面。这些函数就像SQL的"瑞士军刀",让数据处理变得异常强大!前面的文章中我们以及学习了其中的聚合函数,这篇文件再来讲解一些其它的常用内置函数。

2026-02-10 15:42:52 1029

原创 【MySQL】数据分析双剑客:聚合函数 与 group by子句的完美搭配

这样做其实存在一个逻辑错误,我们先按部门分组,然后一个部门中又按照岗位分组,最终分出来的这个组中,它们的所属部门一定是一样的,并且岗位是一样的。假设有一个销售表,包含每个员工的销售额。拆分成了多张子表,在这些子表内,我们就可以直接统计它的诸如最大值,平均值这些聚合的统计,不就变成上面我们一开始学的内容了)。根据部门编号去分组,由于有多个不同的部门(对应多个不同的部门编号),所以最终就分成了多个不同的组(可以理解成把一张表。而在一组内的数据,它们的部门编号一定是一样的,那么就可以对他们使用聚合函数,

2026-02-01 18:27:08 1007 9

空空如也

空空如也

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

TA关注的人

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