自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【算法】BFS小总结

BFS小总结

2025-04-01 19:37:59 697

原创 【mysql】事务

事务对一条记录进行快照读,对该记录生产快照读,然后根据这条记录的历史版本,从新往旧将每条记录的DB_TRX_ID(创建或最近一次修改该记录的事务ID)传参进去,判断当前事务能否看到该版本快照,若在上图的左区域或者中间区域且不在活跃列表中则可见,否则不可见继续遍历。写-写并发场景下的第一类更新丢失又叫做回滚丢失,即一个事务的回滚把另一个已经提交的事务更新的数据覆盖了,第二类更新丢失又叫做覆盖丢失,即一个事务的提交把另一个已经提交的事务更新的数据覆盖了。事务主要用于处理操作量大,复杂度高的数据。

2025-03-31 12:07:17 881

原创 [MySQL]MySQL数据库基础知识与操作

文件存储的缺点创建一个库的本质——在对应路径下创建目录创建一个表的本质——对应路径下创建文件(先选中数据库——进入对应目录)

2025-03-25 15:47:29 757

原创 【C++】RAII

对象没有被创建无法调用自己写的函数,构造函数又被私有化了要通过该函数才能创建对象,这里static就起了作用 ——将该函数设为静态的,然后A* obj=A::CreatObj()即可。所以可以将拷贝构造函数和赋值重载放在private里只声明不实现,这样用户就不可以在类外实现了,这两个函数也就不能被实现了,达到不能被拷贝的效果。这样导致正常的对象在进程退出的时候自动调用析构函数的时候调不到,导致报错,达到防止在堆以外的区域建立对象的效果。切片的时候没有临时对象,视为一种特殊的赋值操作,所以不是转换。

2025-03-25 10:57:35 119

原创 [LeetCode]全排列I,II

用unordered系列就有点夸张了,因为nums每个数字都是不重复的,所以搞个同等规模的bool check[n]即可,标记对应位置是否之前使用过。全排列I每层要干的事即:遍历nums数组,如果之前没用过,就插入到path数组中,直到path的大小跟nums一样,就将path插入到ret数组。对于递归问题,很多时候动笔画一画,答案就出来的差不多了,区别就是每一层干的事不一样。思路:这里nums的元素是可以重复的,示例1的前两个1虽然值相等,但是不是真正的同一个数字。返回所有不重复的全排列。

2025-02-06 17:51:54 420

原创 【Linux从青铜到王者】数据链路层(mac,arp)以及ip分片

图解局域网通信(数据链路层)和分片问题

2024-12-07 14:44:04 946

原创 【mysql】带你探究mysql索引

这时可以给各个Page结构体也建立页目录,页目录中的每个目录项都指向一个Page,而这个目录项存放的就是其指向的Page中存放的最小数据的键值——中间一层的page。mysql的基本交互单位是page,最下面一层的page不仅通过链表记录着数据,还有页内目录,如图中所示,有了页内目录就能很快地在一个page里查找到想要的数据了。更大的基本交互单位意味着你访问了一条数据,你访问的下一条数据也在该page里的概率也就增加了(还有局部性原理的加持),减少了IO读取的读取次数,提高了IO效率。可以仿照目录的方法!

2024-11-26 09:38:24 891

原创 【Linux从青铜到王者】详解http协议(待完善)

而报头中有个Content_Length字段,标记正文的长度,所以从空行往后提取Content_Length大小就获得了正文,就实现了报文和有效载荷的分离。可以看到报头和数据中隔着一个空行,所以我们找到第一个空行的位置,往前就是该报文的报头,往后就是该报文的正文+n个报文。因为HTTP是要向下传输给TCP协议的,TCP是面向字节流的,所以HTTP也要将结构化数据转化成字节流。常见的有301(永久重定向),307(临时重定向,搭配Location使用),404。如果是Get,参数提交是通过url来提交的。

2024-11-25 14:30:40 292

原创 【Linux从青铜到王者】Linux进程间通信(一)——待完善

进程间通信介绍1.进程间通信目的数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。2.进程间通信发展管道。System V进程间通信。POSIX进程间通信3.进程间通信分类管道。

2024-11-21 16:25:00 908

原创 【Linux从青铜到王者】详解ip协议和网络层

如OS般精妙的网络世界!

2024-11-19 11:12:53 676 1

原创 【C++】c++ 11

c++11新增特性

2024-09-15 14:38:25 805

原创 【Linux从青铜到王者】tcp协议2

滑动窗口+拥塞控制,tcp的核心!!!

2024-07-29 16:29:51 733

原创 【Linux从青铜到王者】关于tcp协议你不知道的事

首先我们应该知道协议=统一规定的的结构化字段序列化就是将结构化字段里的数据转换成字节流反序列化就是将字节流里的数据放进结构化字段只要协议定好了,序列化和反序列化也就很相对轻松了,不同设备之间就可以通过字节流传输数据了,不再使用传结构体这种受平台和语言限制的方法了报文=报头+有效载荷很多教材画图的时候都是只标个数据或者ACK,其实每次传递的都是一个完整的报文(只是可能没有有效载荷罢了)tcp报头如下所示tcp的特性(关于加粗部分都是需要我们重点去体会 的)tcp是面向字节流的tcp是具有可靠性。

2024-07-29 15:33:27 825

原创 【Linux从青铜到王者】多线程1(笔记版)

pthread库里所谓的线程其实是对系统里的lwp进行了封装,将线程封装成由三个部分(struct_phthread(lwp),线程局部存储(上下文资源),线程栈)组成的结构体。申请锁取决于线程的竞争能力,如果一个竞争能力特别强的线程刚释放锁,又申请到锁继续访问资源,如此循环就会导致其他线程无法申请到锁,导致饥饿问题。执行main函数的为主线程,主线程用的栈是虚拟地址空间里的栈,其他线程的栈都在线程库里被开辟并管理。一个进程不管有多少个线程,每个线程的tgid都是一样的,每个线程的pid都是不同的。

2024-04-19 17:42:50 899

原创 【优选算法】前缀和

前缀和思想其实就是一种简单的dp思想,也就是动态规划什么时候用到前缀和?当要快速求出数组中某一个区间的和。

2024-03-04 21:05:49 1102

原创 【Linux从青铜到王者】进程信号

庖丁解牛般带你分三步全面理解进程信号!!!

2024-03-04 20:18:21 792

原创 【优选算法】简单却又恶心的二分

简单却又恶心的二分,看完后百分百不死循环!

2024-02-26 16:29:43 1139

原创 【Linux从青铜到王者】 基础IO

之前我们学习过c语言的文件操作,但那是语言级别的。由之前所学知道中间肯定需要操作系统参与,所以c语言的文件操作必定封装了系统调用。

2024-02-22 21:36:38 2645

原创 【c++】继承与多态

继承和多态!

2023-10-30 16:00:09 165

原创 【Linux】命令行参数和环境变量

3.通过。

2023-10-22 11:18:34 274

原创 【C++】手撕STL系列——stack,queue篇

stack和queue的自我实现——感悟何为适配器!!!

2023-10-16 23:23:47 281 1

原创 【Linux】进程

在了解进程概念之前,还有很多东西需要我们先了解,以助我们更好地学习以后的知识大部分都是概念的东西,大部分大概有个印象就好了。

2023-10-13 16:44:37 241

原创 【C++】手撕STL系列——string篇

小白自我实现string类!

2023-10-11 23:43:16 481

原创 【Linux】粗谈权限

以上为Linux权限的粗略总结,也以此篇开始Linux的学习,该系列会持续更新,希望各位多多支持,如有错误也希望及时指出!

2023-09-10 15:45:14 228 1

原创 泛型编程| 模板初阶——懒人福音!

懒人创造世界!!!泛型编程 | 模板初阶

2023-08-13 20:23:43 302

原创 【c++】七夕快到了却还没对象?手把手教你new一个出来!

本章给大家带来的是C++内存管理。在C语言阶段,我们经常使用malloc,calloc,realloc,free进行内存管理。但是,C语言的内存管理存在很多缺陷,会对程序的稳定性和安全性造成影响。不过,C语言的内存管理同时也给程序员提供了更大的自由度和灵活性,可以更加精细地控制程序的内存使用。而C++有他自己的一套内存管理,就是:new和delete。

2023-08-13 17:28:27 207

原创 【C++】类和对象

小白七千字详解类和对象!!!

2023-08-03 21:40:25 284

原创 【C++】入门基础2

c++入门基础2!!!

2023-07-25 12:21:53 166

原创 【C++】入门基础知识

c过渡到c++基础知识~

2023-07-19 11:44:45 305

原创 【刷题之路】单调栈秒解每日温度

单调栈秒解每日温度!!!冲冲冲

2023-06-02 20:56:26 270

原创 树的简单介绍

😎本篇就是简单简单介绍树,并不是很详细,希望对大家能有所帮助!

2023-05-28 20:51:58 799 2

原创 【数据结构】堆堆堆堆堆!

万字+动图详解堆!!!以及你应该了解的堆排序和topk问题以及相关原理!!!

2023-05-22 22:22:03 921 7

原创 【刷题之路】LeetCode232——用栈实现队列

竟然可以用栈实现队列?!!

2023-05-19 11:32:41 418

原创 【数据结构】队列及其实现

小白手把手教你实现队列!!!

2023-05-16 13:56:47 1183 9

原创 【数据结构】栈及其实现

手把手教你栈的实现!!!附完整代码哦

2023-05-15 11:10:48 838 14

原创 单链表你别再找我了,我怕双向链表误会

单链表你别再找我了,我怕双向链表误会

2023-05-12 10:14:38 665 5

原创 【刷题之路】LeetCode24——详解两两交换链表中的结点的细节

总的来说这道题不算很难,但十分考验我们对链表的基础操作,以及对哨兵位的使用,相信对每个人都会有所帮助。希望大家多多支持,我也会继续输出我的编程知识的!

2023-05-08 21:43:44 315 9

原创 经典链表问题——判断链表是否带环

如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。注意:pos 不作为参数进行传递。仅仅是为了标识链表的实际情况。

2023-05-06 15:17:45 1527 5

原创 单链表|附完整源码—c语言版

我们都知道数组在内存中是连续存储的,顺序表就是由链表存储的,它有一个其他数据结构都没有的优点——支持随机访问(就是利用下标访问元素),这可以让其支持一些排序算法的操作。但是顺序表也有一些如下缺点:1. 中间/头部的插入删除,时间复杂度为O(N)2. 增容需要申请新空间,拷贝数据,释放旧空间。会有不小的消耗。3. 增容一般是呈2倍的增长,势必会有一定的空间浪费。例如当前容量为100,满了以后增容到200,我们再继续插入了5个数据,后面没有数据插入了,那么就浪费了95个数据空间。

2023-04-20 16:55:12 511

原创 LeetCode面试题 01.01. 判定字符是否唯一

把字符串中每个字符转化为一个二进制数,转化方法为1向左N位的位运算,N为这个字符和字符‘a'的距离;例如 Na = 0,Nb=1,Nc = 2...a = 1

2023-04-15 20:50:27 259 4

空空如也

空空如也

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

TA关注的人

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