自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

叫我龙翔的博客

这里记录我的大学的学习踪迹

  • 博客(198)
  • 收藏
  • 关注

原创 【Redis】从零开始掌握redis --- 认识redis

Redis作为高性能NoSQL数据库的定位与应用 摘要:Redis是一个基于内存的键值对存储系统,属于NoSQL数据库范畴。相比传统SQL数据库,Redis具有非结构化数据存储、内存读写和水平扩展等特性。在分布式系统中,Redis常作为缓存层解决高并发场景下的性能瓶颈问题。其高速读写能力(10万+QPS)源于内存存储、单线程模型和IO多路复用技术。Redis既支持数据持久化也支持集群部署,在保证性能的同时提高了可靠性。典型的应用场景包括热点数据缓存、实时访问系统等需要快速响应的业务场景。

2025-12-16 17:36:39 813

原创 【数据结构】从零开始认识B树 --- 高效外查找的数据结构

B树概述 B树是一种专门用于磁盘搜索的多路平衡查找树,主要解决大数据量无法一次性加载到内存的问题。相比传统二叉搜索树,B树具有以下特点: 多路平衡:M阶B树每个节点最多有M个子节点,保持高度平衡 减少IO:通过增加节点分支数,显著降低树高,减少磁盘IO次数 自动分裂:节点满时自动分裂,保证平衡性 插入操作分析 B树插入流程: 查找合适位置并插入数据 检查节点是否溢出(关键字数≥M) 将中间关键字上提至父节点,分裂为两个子节点 递归检查父节点直至满足B树性质 实现要点: 节点结构包含关键字数组和子节点指针数组

2025-11-16 16:16:21 1343 2

原创 【数据结构】从零开始认识图论 --- 单源/多源最短路算法

摘要 本文系统介绍了图论中的最短路径算法,包括单源和多源算法。单源算法重点分析了Dijkstra算法(贪心策略,O(n²)时间复杂度,适用于非负权图)和Bellman-Ford算法(暴力求解,O(n³),可处理负权图并检测负权回路)。多源算法介绍了Floyd-Warshall动态规划算法,通过状态转移方程计算所有节点对的最短路径。文中给出了各算法的核心思想、适用场景、时间复杂度和关键代码实现,并配以示意图辅助理解,为图论最短路径问题提供了全面的解决方案。

2025-11-08 20:26:20 956 3

原创 【数据结构】从零开始认识图论 --- 并查集与最小生成树算法

这篇文章首先引用了席慕蓉的诗句,随后系统介绍了图论的基础概念和存储结构。主要内容包括: 图的基本概念:定义了顶点、边、有向图和无向图,解释了完全图、邻接顶点、顶点的度(入度和出度)、路径及路径长度等关键术语。 图的存储结构: 邻接矩阵:通过二维数组表示顶点间关系,适合稠密图,查询效率高但空间消耗大; 邻接表:用数组存储顶点,链表存储边,适合稀疏图,空间效率高但查询效率较低。 C++实现示例:展示了邻接矩阵的模板类实现,包含构造函数、添加边、打印等基本操作。 文章通过理论解释和代码示例,系统介绍了图论的基础知

2025-11-07 10:56:30 693 2

原创 【MySQL】从零开始了解数据库开发 --- 如何理解事务隔离性

文章摘要 本文深入探讨了数据库并发控制中的MVCC(多版本并发控制)机制。首先分析了数据库的三种并发场景(读-读、读-写、写-写),重点讲解了MVCC如何解决读-写冲突。通过介绍3个隐藏字段(DB_TRX_ID、DB_ROLL_PTR、DB_ROW_ID)和undo日志,详细说明了版本链的形成过程。文章还区分了当前读和快照读的概念,并解释了Read View视图的工作原理,包括其结构组成和可见性判断规则(通过比较事务ID与高低水位线)。MVCC机制有效提高了数据库并发性能,同时解决了脏读、幻读等问题,但无法

2025-10-22 20:15:28 1302 41

原创 【MySQL】从零开始了解数据库开发 --- mysql事务机制(二)

其中隔离级别越严格,安全性越高,但数据库的并发性能也就越低,往往需要在两者之间找一个平衡点。不可重复读的重点是修改和删除:同样的条件, 你读取过的数据,再次读取出来发现值不一样了幻读的重点在于新增:同样的条件,第1次和第2次读出来的记录数不一样说明:mysql 默认的隔离级别是可重复读,一般情况下不要修改上面的例子可以看出,事务也有长短事务这样的概念。事务间互相影响,指的是事务在并行执行的时候,即都没有commit的时候,影响会比较大。

2025-10-22 15:42:41 1016 2

原创 【MySQL】从零开始了解数据库开发 ---mysql事务机制(一)

真正的艺术家什么都不蔑视,他们逼迫自己去理解,而不是去评判。-- 阿尔贝·加缪 --

2025-10-21 21:34:43 809 2

原创 【MySQL】从零开始了解数据库开发 --- 数据表的索引

数据库索引:理解与优化IO效率的关键 摘要:本文深入探讨了数据库索引的本质及其对查询性能的提升作用。索引作为一种组织数据的方式,通过建立特定数据结构在不增加内存、不修改程序的情况下显著提高检索速度。文章分析了磁盘结构对数据库性能的影响,指出MySQL以16KB的Page为单位进行IO交互,并详细解释了Buffer Pool机制如何减少IO次数。通过实例演示了主键索引如何自动排序数据,并强调索引在提高查询效率的同时会降低写入性能。最后,文章揭示了局部性原理如何帮助优化数据库IO操作,为深入理解数据库性能优化提

2025-10-17 19:39:44 780 5

原创 【MySQL】从零开始了解数据库开发 --- 复合查询

本文介绍了MySQL数据库开发中的复合查询技术,包括多表查询、自连接和子查询三种方法。主要内容为: 多表查询通过笛卡尔积将多张表数据整合成一张大表,再通过WHERE条件筛选所需数据。示例演示了从员工表和部门表中联合查询员工姓名、工资及部门名称。 自连接是对同一张表进行笛卡尔积操作,需要使用表别名区分。示例展示了查询员工Ford的上级领导信息。 子查询的核心思想是"万物皆为表",将查询结果作为临时表使用。文章通过单行子查询示例,演示了如何先查询SMITH所在部门,再查找该部门所有员工。 三

2025-10-14 19:41:29 1092 5

原创 【MySQL】从零开始了解数据库开发 --- 基本查询

摘要 本文系统介绍了数据库开发中的基本操作,重点讲解了CRUD(增删查改)的实现方法。内容包括:1) 数据插入(INSERT)的三种用法及语法修饰符;2) 数据更新(UPDATE)的语法结构和注意事项;3) 数据删除(DELETE与TRUNCATE)的区别及使用场景;4) 数据查询(SELECT)的核心语法和10种常用查询方式,特别强调了单表查询、聚合函数和分组查询的应用。文章最后指出查询是数据库最频繁的操作,并提供了SQL关键字的执行顺序,为数据库开发提供了全面的基础指导。(149字)

2025-10-12 17:15:20 1265 7

原创 【MySQL】从零开始了解数据库开发 --- 数据表的约束

外键约束主要定义在从表上,主表则必须是有主键约束或unique约束。当定义外键后,

2025-10-09 16:19:52 1662 9

原创 【设计模式】从游戏角度开始了解设计模式 --- 抽象工厂模式

本文介绍了抽象工厂设计模式,通过游戏装备系统的案例展示了其实现方式。文章首先将抽象工厂与普通工厂模式进行对比,指出抽象工厂适用于多维度产品变种场景。随后以C++代码示例详细演示了装备基类、具体产品、抽象工厂和具体工厂的实现过程,并总结了四大要素。文章列举了抽象工厂的典型应用场景,包括GUI框架、游戏引擎文件系统、UI主题切换和跨平台网络库等。最后分析了模式的优缺点,强调其多维定制化能力但伴随复杂性增加的特点,并指出抽象工厂产品通常需要协同工作。

2025-09-11 11:38:51 593 2

原创 【MySQL】从零开始了解数据库开发 --- 数据类型

我不假思索地上路,因为出发的感觉太好了,世界突然充满了可能性。--- 杰克·凯鲁亚克 ---

2025-09-09 18:10:32 916 2

原创 MySQL】从零开始了解数据库开发 --- 表的操作

永远记住,你的存在是有意义的,你很重要,你是被爱着的,而且你为这个世界带来了无可取代的东西。-- 麦克西 《男孩、鼹鼠、狐狸和马》--

2025-09-05 20:34:06 1231 2

原创 【MySQL】从零开始了解数据库开发 --- 库的操作

本文介绍了数据库开发的基础操作,包括创建、查看、修改和删除数据库。重点讲解了创建数据库时指定字符集(如UTF-8、GBK等)和校验规则的重要性,以及不同编码集对数据操作的影响。文章还解释了数据库本质是文件系统中的目录,并警告不要直接操作数据库文件。最后介绍了数据库备份和恢复的方法,强调使用mysqldump工具进行备份,通过source命令恢复数据。全文强调数据库操作需谨慎,建议闲置而非直接删除数据库。

2025-09-05 10:38:14 1112 1

原创 【MySQL】从零开始了解数据库开发 --- 初步认识数据库

本文介绍了MySQL数据库的基础知识,包括安装方法、基本概念和存储引擎。主要内容包括:1)MySQL客户端和服务端的区别;2)数据库的本质是Linux目录,数据表对应文件;3)主流数据库类型比较;4)SQL语句分类(DDL、DML、DCL);5)MySQL存储引擎,重点说明MyISAM和InnoDB两种主要引擎。文章通过命令行操作演示了数据库创建过程,帮助读者理解数据库的基本原理。

2025-09-04 19:52:11 1176

原创 【设计模式】从游戏角度开始了解设计模式 --- 创建型模式(一)

本文摘要: 文章从面向对象六大原则(单一职责、开闭原则、里氏替换等)出发,解析其设计思想与价值,强调其对代码健壮性、扩展性的重要性。随后聚焦创建型模式,重点阐述工厂方法模式,通过游戏装备系统案例展示其实现逻辑,分析其优势(解耦、扩展性、封装复杂逻辑)与适用场景(日志系统、数据库连接等),并指出其局限性。全文以理论结合实践,为设计模式入门提供清晰路径。

2025-09-02 21:41:58 1187 7

原创 【Git】从零开始使用git --- git 的基本使用

哪怕是野火焚烧,哪怕是冰霜覆盖,依然是志向不改,依然是信念不衰。 -- 《悟空传》

2025-04-13 20:28:55 2206 18

原创 【项目日记】高并发服务器项目总结

加油加油 , 及时总结项目! 努力向前,我要成为超强的程序员!

2025-04-07 22:03:01 2292 20

原创 【我的项目】仿RabbitMQ的消息队列项目总结

项目总结一定要写好,避免面试深挖碰壁!

2025-03-26 20:09:59 1822 11

原创 【项目日记】仿RabbitMQ实现消息队列 --- 模块设计

本文介绍了消息队列项目的几大模块设计,为整体项目构建打好基础

2025-02-19 20:48:45 1640 18

原创 【项目日记】仿RabbitMQ实现消息队列 --- 概念设计

本文介绍了仿RabbitMQ的消息队列项目的概念设计,初步建立对项目的整体概念

2025-02-18 10:38:58 3032 19

原创 【博客之星】2024年度创作成长总结 - 面朝大海 ,春暖花开!

没关系的,大家都会做错选择,会莫名其妙掉眼泪,走在路上会突然崩溃,但这并不影响我们去看看晚霞,再次爱上这个世界。

2025-01-22 22:22:14 16780 15

原创 【算法日记】从零开始认识动态规划(一)

本文讲解了动态规划算法中的常见模型:斐波那契数列问题,路径问题,买卖股票问题,打家劫舍问题。

2025-01-09 22:09:22 15425 23

原创 我的 512 创作纪念日

这是我的512创作纪念日,继续努力!

2024-12-19 15:38:07 1625 13

原创 【项目日记】仿mudou的高并发服务器 --- 实现HTTP服务器

本文根据高并发服务器组件,实现了仿mudou库的高并发服务器,使用HTTP高并发连接需求!

2024-11-29 11:32:14 3047 33

原创 【项目日记】仿mudou的高并发服务器 --- 实现基础高并发服务器基础模块

本文实现了仿mudou的高并发服务器项目中的并发服务器基础模块,将主从Reactor模型所需的模块一一封装!

2024-11-23 09:37:12 3567 25

原创 【项目日记】仿mudou的高并发服务器 --- 实现缓冲区模块,通用类型Any模块,套接字模块

本文讲解了仿mudoud的高并发服务器项目的设计思路,以及实现了缓冲区模块,通用类型模块,套接字模块

2024-11-23 09:20:19 7858 98

原创 【项目日记】仿mudou的高并发服务器 --- 整体框架搭建 ,实现时间轮模块

本文介绍了仿mudou的高并发服务器的整体框架设计思路!

2024-11-14 15:23:05 9908 244

原创 【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案

本文讲解了如何使用多线程与多进程优化Reactor反应堆模型

2024-11-10 19:34:11 1589 37

原创 【计网】实现reactor反应堆模型 --- 处理数据发回问题 ,异常处理问题

本文解决了Reactor反应堆模型中的数据发回和异常处理问题

2024-11-10 10:51:10 1282 13

原创 【计网】实现reactor反应堆模型 --- 框架搭建

本文对于网络协议栈和IO模型的知识进行整合,实现一个reactor反应堆模型

2024-11-08 21:29:00 2382 43

原创 【Linux】从零开始使用多路转接IO --- 理解EPOLL的 LT水平触发模式 与 ET边缘触发模式

本文介绍了EPOLL的两种工作模式LT与ET

2024-11-08 17:10:01 1357 7

原创 【Linux】从零开始使用多路转接IO --- epoll

本文介绍了多路转接epoll接口的工作原理,并实现了epollserver基础服务

2024-11-05 15:49:55 3048 128

原创 【Linux】从零开始使用多路转接IO --- poll

本文讲解了多路转接IO中的poll方案!

2024-11-03 16:50:26 1451 39

原创 【Linux】从零开始使用多路转接IO --- select

本文讲解了多路转接IO中的select方案,通过编程探索select接口!

2024-11-03 15:09:00 2613 104

原创 【Linux】从零开始认识五种IO模型 --- 理解五种IO模型,开始使用非阻塞IO

本文介绍了五种IO模型的概念,并通过fcntl接口实验非阻塞IO

2024-11-01 15:58:28 1334 24

原创 【计网】网络协议栈学习总结 --- 浏览器上输入网址域名后点击回车,到底发生了什么?

本文通过网络协议栈的学习,总结出来浏览器进行搜索的背后到底发生了什么!

2024-10-30 21:28:24 1583 20

原创 【计网】深入理解NAT机制,内网穿透与内网打洞,代理服务

本文讲解了NAT机制,讲解了如何进行内网穿透与内网打洞,并提及了代理服务是怎样进行的!

2024-10-29 20:55:43 2409 12

原创 【计网】从零开始认识arp协议

本文讲解了arp协议,补全了网络通信过程的最后一块砖,通过arp协议我们可以保证数据链路层生成MAC帧进行通信!

2024-10-29 11:37:53 1900 14

空空如也

空空如也

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

TA关注的人

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