自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 深入理解GMP调度模型和GC垃圾回收

Go 协程,是 Go 程序中最基本的执行单元,轻量级(初始栈仅 2KB),由 Go 运行时管理而非操作系统。:操作系统内核线程(可以理解为绑定了一个 OS Thread),是真正执行代码的 “工人”。:处理器,是 G 和 M 之间的桥梁,代表执行 G 的 “上下文环境”,包含了 G 运行所需的资源(如本地运行队列)。P 的数量默认等于 CPU 核心数(可通过设置)。G(协程)、M(内核线程)、P(处理器)三者协同,P 是核心调度单元,数量对应 CPU 核心数;

2026-02-28 15:25:19 689

原创 AI Agent 知识点总结

AI Agent(人工智能体)是以大语言模型(LLM)为核心大脑,具备感知、规划、记忆、工具调用、行动、反思能力,能自主理解目标、拆解任务、调用外部资源、执行复杂流程并迭代优化的智能实体。本质:从 “被动响应式 AI” 升级为目标驱动的自主代理,实现 “人定目标,AI 自主完成”。AI Agent = LLM + 规划 + 记忆 + 工具调用 + 反思。

2026-02-26 22:45:24 275

原创 go-zero微服务框架总结

go-zero 是由字节跳动开源的一款高性能、高可用、易扩展的 Go 微服务框架,专为云原生设计,核心目标是降低微服务开发门槛,内置了大量微服务治理能力,让开发者可以专注于业务逻辑开发。极简:API/Protobuf 一键生成代码,降低上手成本高效:基于 Go 原生特性优化,性能接近裸写 Go 代码稳定:字节内部大规模验证,覆盖电商、直播等核心业务全栈:从网关到微服务,从限流到监控,一站式解决方案创建user.api文件:go运行info(title: "用户服务API"

2026-02-15 16:45:08 937

原创 Primary-Backup Replication 核心知识点总结

Primary-Backup Replication(主备复制)是分布式系统中最基础的高可用 / 数据容错方案,核心是将数据 / 服务部署在「主节点(Primary)」和「备节点(Backup/Secondary)」,主节点对外提供读写服务,同时异步 / 同步将数据变更同步给备节点,主节点故障时备节点快速切换补位,保证服务不中断、数据不丢失。高可用(HA)+ 数据持久化 + 故障容错实现简单:分布式容错方案中最易落地、成本最低的架构高可用:主节点故障可快速切换,大幅降低服务不可用时间。

2026-01-31 12:35:57 488

原创 git知识点总结

版本控制系统 (VCS):Git 是分布式版本控制系统,相比集中式(如 SVN),每个开发者本地都有完整的代码仓库,无需依赖中央服务器即可提交、回滚等操作。三大区域工作区 (Working Directory):本地写代码的目录,直观可见的文件目录。暂存区 (Staging Area/Index):临时存放待提交的修改,相当于 “提交缓冲区”。版本库 (Repository):Git 真正存储版本数据的地方,.git目录就是版本库核心。核心对象。

2026-01-28 12:36:32 297

原创 GFS(Google 文件系统)核心知识点总结

GFS 是面向大文件、高吞吐、容错优先的分布式文件系统,通过「Master 管元数据 + ChunkServer 存数据 + 3 副本冗余 + Lease 机制并发写」,解决了大规模廉价硬件集群的存储问题,支撑 Google 大数据处理,是分布式存储的经典实现,后续 HDFS(Hadoop 分布式文件系统)大量借鉴其设计思想。

2026-01-27 15:52:17 562

原创 RPC与 Thread 知识点全面总结

Thread是并发编程的基础,核心解决 “同一进程内多任务并行执行” 问题,重点关注线程创建、状态转换、同步安全、线程池管理。RPC是分布式系统的通信基础,核心解决 “跨进程 / 跨机器的方法调用本地化” 问题,重点关注服务注册发现、序列化、网络传输、容错机制。两者关联紧密:RPC 框架的底层实现依赖线程模型(如线程池处理请求),而 RPC 服务的并发安全又依赖线程同步机制。掌握两者的核心知识点,是构建高性能、高可用并发 / 分布式系统的关键。

2026-01-26 09:25:36 692

原创 字节跳动 Eino 框架(Golang+AI)知识点全面总结

字节跳动 Eino 框架是 Golang 生态下的分布式 AI 工程化利器,核心优势在于 “降低 AI 应用的分布式部署门槛” 和 “兼顾性能与易用性”。整合模型管理、分布式推理 / 微调、资源调度、工程化工具链,提供全链路支持;Golang 原生设计,易部署、高并发,适配云原生与边缘环境;屏蔽 AI 分布式底层细节,让开发者专注于业务逻辑而非工程化实现。适合人群:Golang 开发者、AI 工程化工程师、需要快速落地 AI 应用的团队(无需深入分布式 AI 原理)。

2026-01-22 11:28:26 816

原创 gin与gorm框架知识点总结

通过c.Next()执行后续处理,c.Abort()终止请求流程go// 自定义日志中间件// 请求前执行:记录请求时间// 执行后续路由处理(控制器函数)c.Next()// 请求后执行:记录响应耗时Model 是 GORM 与数据库表的映射结构体,通过tag配置表名、字段名、类型、约束等。goimport ("time"// User 对应数据库表 users(默认蛇形命名)

2026-01-11 14:46:49 862

原创 go语言语法基础全面总结

通过结构体实现 error 接口,可携带更多错误信息(如错误码)。go// 自定义错误结构体Code int// 实现 error 接口的 Error() 方法return fmt.Sprintf("错误码:%d,信息:%s", e.Code, e.Message)// 返回自定义错误return &MyError{Code: 500, Message: "服务器内部错误"}// 调用if err!= nil {

2026-01-07 14:07:14 563

原创 Qt 知识点全面总结

核心特性:跨平台(Windows/macOS/Linux/ 嵌入式等)、信号与槽机制、元对象系统、丰富的控件库、模块化设计。版本区别:Qt 5(长期支持版,稳定成熟)、Qt 6(性能优化、模块化重构,推荐新项目)。开发环境:Qt Creator(官方 IDE,集成编辑、编译、调试)、MinGW(Windows 下 GCC 编译器)、MSVC(Visual Studio 编译器)、CMake/QMake(构建工具)。环境配置。

2026-01-06 17:37:04 763

原创 软件测试理论总结

软件测试是使用人工或自动化手段发现软件中存在的缺陷(Bug),避免缺陷流入用户端;验证软件是否符合需求规格说明书(SRS)、设计文档及用户实际需求;评估软件的质量水平,为项目决策(如是否上线)提供依据。软件测试是软件质量的 “守门人”,其核心不仅是 “找缺陷”,更是 “通过测试过程优化软件设计、提升用户体验”。掌握软件测试理论(原则、类型、方法),结合规范的测试流程和缺陷管理,能有效提升测试效率;

2026-01-05 16:20:38 679

原创 数据结构与算法知识点总结

数据结构与算法是计算机科学的核心基础,负责组织和存储数据,负责定义处理数据的步骤,二者结合决定了程序的效率与性能。

2026-01-04 20:44:49 993

原创 计算机组成原理知识点全面总结

补码的计算与应用:补码的加减法规则是重点,需注意负数补码的计算(反码加 1)。Cache 的映射方式:包括直接映射全相联映射组相联映射,需理解不同映射方式的命中率和复杂度。指令周期的阶段划分:区分取指周期、间址周期、执行周期、中断周期的操作和 PC 的变化。I/O 控制方式的对比:重点掌握程序中断方式和 DMA 方式的区别(DMA 无需 CPU 介入数据传输)。总线的分类与仲裁:地址总线单向、数据总线双向,集中式仲裁的三种方式的优先级特点。

2025-12-25 13:56:51 657

原创 序列化与反序列化详解

序列化是将内存中的对象(或数据结构)转换为可存储(如存入文件、数据库)或可传输(如通过网络发送给其他系统)的二进制流(或 XML/JSON 等结构化格式)的过程。简单说,就是把内存中 “活” 的、只能被当前程序直接使用的数据,变成一种 “静态” 的、可脱离当前程序独立存在的数据格式。序列化:内存对象 → 可存储 / 传输的格式(打包),解决数据持久化和跨环境传输问题。反序列化:可存储 / 传输的格式 → 内存对象(解包),是序列化的逆过程。

2025-12-22 17:08:03 937

原创 消息队列(MQ)核心知识点总结

消息队列(Message Queue,MQ)是基于的中间件,核心是在生产者与消费者之间搭建缓冲队列,实现系统解耦、削峰填谷、异步通信,提升架构稳定性与性能。

2025-12-15 23:02:14 812

原创 Docker知识点总结

默认bridge网络需通过--linkdocker run --network mynet --name app1 [镜像名]ping app1Docker 的核心价值是 **“隔离” 与 “一致”**,通过镜像打包环境,容器运行应用,解决了 “开发环境能跑,生产环境报错” 的经典问题。三大组件:镜像(模板)、容器(实例)、仓库(分发)。核心工具:Docker CLI(基础操作)、Dockerfile(镜像构建)、Docker Compose(多容器编排)。

2025-12-02 17:44:37 679

原创 get请求与post请求

摘要:GET和POST是HTTP协议中最常用的两种请求方法。GET通过URL传递数据,可见但受长度限制,适用于查询操作;POST通过请求体传输数据,更安全且无大小限制,适合提交敏感或大量数据。GET请求具有幂等性且可缓存,而POST请求则相反。开发中应遵循"GET用于读,POST用于写"的原则,并根据数据敏感性、大小和操作类型选择合适的方法。两者安全性都依赖HTTPS加密,不能仅凭方法判断安全性。

2025-11-28 21:45:05 1143

原创 Redis 基础全面总结

高性能:基于内存操作,单线程模型避免线程切换开销,读速达 10 万 + QPS,写速达 10 万 + QPS(取决于配置)。多数据结构:支持字符串、哈希、列表、集合、有序集合等原生结构,及 Bitmap、HyperLogLog 等特殊结构。持久化:支持 RDB 和 AOF 两种持久化方式,避免内存数据丢失。高可用:支持主从复制、哨兵模式(Sentinel)、集群模式(Redis Cluster),保障服务稳定性。多功能:可作为缓存、数据库、消息队列、分布式锁载体等。跨平台。

2025-11-27 16:50:03 283

原创 MySQL 基础全面总结

sql-- 1. 创建数据库(指定字符集,避免中文乱码)create database if not exists 数据库名 character set utf8mb4 collate utf8mb4_general_ci;-- 2. 删除数据库(谨慎使用!drop database if exists 数据库名;-- 3. 修改数据库字符集alter database 数据库名 character set utf8mb4;MySQL 基础核心围绕 “数据存储(表 / 数据类型 / 约束)

2025-11-25 21:10:50 758

原创 MySQL 增删改查(CRUD)全面总结

操作核心语法关键注意事项数据影响范围新增(C)字段与值匹配,非空约束,批量插入效率新增记录,不影响旧数据查询(R)避免SELECT *,索引优化,NULL处理只读取,不修改数据修改(U)必须加WHERE,优先用主键筛选,事务回滚修改已有记录删除(D)确认筛选条件,备份数据,关联表处理删除已有记录 / 表结构通过以上总结,可覆盖 MySQL 日常开发中 90% 以上的 CRUD 场景。

2025-11-20 15:26:15 772

原创 设计模式总结:从原理到实践的全面梳理

行为型模式专注于 “对象间的交互与职责分配”,解决 “如何让对象协作完成复杂功能” 的问题。模式名称核心思想适用场景优缺点典型案例模板方法模式(Template Method)父类定义算法骨架(固定步骤),子类实现算法的可变步骤算法步骤固定,但部分步骤实现不同(如 “登录流程:验证→授权→返回结果”)优点:复用骨架代码;缺点:子类可能影响父类逻辑(“钩子方法” 风险)Spring 的refresh方法骨架)策略模式(Strategy)定义一系列算法,将每个算法封装起来,使它们可互相替换。

2025-11-18 22:35:41 428

原创 Linux网络编程总结

Linux 网络编程是基于 Linux 操作系统的网络应用开发技术,主要涉及网络协议、套接字编程、进程间通信等内容。

2025-11-04 14:57:55 877

原创 Linux系统编程总结

默认情况下,进程启动时会打开 3 个标准 FD:0(标准输入)、1(标准输出)、2(标准错误),后续打开的文件从3开始递增。Linux 进程有 5 种核心状态:运行(R)、睡眠(S/D)、僵尸(Z)、暂停(T)、死亡(X),可通过ps或top查看。调整文件指针位置,支持从文件开头(SEEK_SET)、当前位置(SEEK_CUR)、文件末尾(SEEK_END)偏移,常用于随机读写:​。sem_init/sem_wait(P 操作)/sem_post(V 操作)/sem_destroy​。

2025-10-31 16:51:33 899

原创 端口号相关概念详解

网络编程

2025-10-16 19:39:29 1134

原创 线性表C++实现(面向对象)

【代码】线性表C++实现(面向对象)

2025-08-28 15:04:44 223

原创 string容器的erase,append,replace函数

删除s从pos下标开始的n个字符,并返回删除后的s。当pos>s.size()时,报错删除s迭代器position位置的字符,并返回下一个字符的迭代器删除s迭代器[first,last)之间的字符,并返回last迭代器。

2025-08-02 15:02:22 637

原创 string 容器的各种赋值操作及拷贝函数substr和insert函数

【代码】string 容器的各种赋值操作及拷贝函数substr和insert函数。

2025-08-02 11:49:14 195

原创 C++11和C++17常用新特性

一、C++11 核心新特性。

2025-07-06 17:02:48 1491

原创 C++文件操作(面向对象)

【代码】C++文件操作(面向对象)

2025-07-05 10:56:50 222

原创 面向对象--继承(C++实现)

在面向对象编程中,,允许一个类(子类)继承另一个类(父类)的属性和方法。通过这种机制,子类可以获取父类中定义的所有属性和方法,从而减少了代码的重复性,提高了代码的复用性。继承是面向对象编程中的一个核心概念,极大地增强了编程的灵活性和效率。,其允许子类获取父类属性和方法,减少代码重复,同时提高代码复用性。

2025-06-17 22:34:34 374

原创 C++运算符重载

介绍C++运算符重载相关知识

2025-06-06 17:35:31 277

原创 C++友元

友元是一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。友元不是成员函数,但是它可以访问类中的私有成员。

2025-05-30 10:40:18 296

原创 有关定长滑动窗口的两套公式

一般而言定长滑动窗口类的题型都问你在长度为n的数组中(或串)找到在长度为K的子数组(或串)使得XX最大(或最小)。这种题两套公式可以解决。

2025-05-28 15:27:54 259

原创 C++类封装

在C++中,类封装是一种将数据(属性)和操作数据的方法(函数)捆绑在一起,形成一个单一的、易于使用的单元的技术。封装有助于隐藏对象的内部实现细节,只向外界提供有限的接口,这样可以降低系统之间的耦合度,提高模块的独立性和安全性。

2025-05-28 11:48:22 346

原创 C++浅拷贝和深拷贝

浅拷贝实现起来简单,但在处理动态分配资源时存在风险;深拷贝实现起来复杂一些,但更加安全可靠。在设计类时,如果类包含指针成员且这些指针指向动态分配的资源,那么通常需要自定义拷贝构造函数和赋值运算符,以实现深拷贝。

2025-05-24 15:39:59 336

原创 简单的碰撞检测代码

【代码】简单的碰撞检测代码。

2025-05-18 16:47:00 376

原创 用easyx基础知识进行画图

【代码】用easyx基础知识进行画图。

2025-05-14 20:25:28 147

原创 C++项目最低标准(五子棋)

【代码】C++项目最低标准(五子棋)

2025-05-10 19:02:43 134

原创 用C++基础知识写通讯录管理系统

cout << "***** 1、添加联系人 *****" << endl;cout << "***** 2、显示联系人 *****" << endl;cout << "***** 3、删除联系人 *****" << endl;cout << "***** 4、查找联系人 *****" << endl;cout << "***** 5、修改联系人 *****" << endl;cout << "***** 6、清空联系人 *****" << endl;//通讯录中保存的联系人数组。

2025-05-08 09:07:09 1552 1

空空如也

空空如也

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

TA关注的人

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