- 博客(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
原创 计算机组成原理知识点全面总结
补码的计算与应用:补码的加减法规则是重点,需注意负数补码的计算(反码加 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系统编程总结
默认情况下,进程启动时会打开 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
原创 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++实现)
在面向对象编程中,,允许一个类(子类)继承另一个类(父类)的属性和方法。通过这种机制,子类可以获取父类中定义的所有属性和方法,从而减少了代码的重复性,提高了代码的复用性。继承是面向对象编程中的一个核心概念,极大地增强了编程的灵活性和效率。,其允许子类获取父类属性和方法,减少代码重复,同时提高代码复用性。
2025-06-17 22:34:34
374
原创 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
原创 用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关注的人
RSS订阅