自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 MySQL架构和工作流程

详解MySQL体系结构

2024-07-06 16:26:54 321

原创 双向链表的C语言实现方案

图文并茂,详细讲解双向链表的实现

2024-07-05 10:34:12 1838

原创 MySQL日志——redolog

在mysql提交一个事务后,这个事务所作的数据修改并不会直接保存到磁盘文件中,而是先保存在buffer pool缓冲区中,在需要读取数据时,先从缓冲区中找,没找到再去磁盘找,加之每次提交事务都将数据写入磁盘的效率低下,所以引入了buffer pool缓冲区。因此,redo log记录了一个事务对数据页的修改,这个记录与undolog不同,是物理层面的,比如。提交一个事务后,先将redo log持久化磁盘,就可以保证这个事务修改的数据被持久化了。为什么需要redo log?

2024-06-18 20:01:56 593

原创 MySQL日志——undolog

比如当 delete 一条记录时,undo log 中会把记录中的内容都记下来,然后执行回滚操作的时候,就读取 undo log 里的数据,然后进行 insert 操作。,也就是在事务提交之前,可以恢复到事务开始前的数据库状态,相当于已经执行的事务操作没有发生过一样,这是怎么做到的?了解redis的朋友都知道redis的日志是为了实现数据的持久化,而mysql将数据存储在磁盘文件,没有持久化的问题,为什么还需要日志呢?,但数据库的状态为当前状态,需要记录事务开始前的数据库状态,以便进行回滚恢复。

2024-06-18 17:42:02 604

原创 redis大key对持久化的影响

字节二面原题

2024-06-18 09:29:21 950

原创 redis持久化方式—RDB

redis持久化方案——RDB

2024-06-18 03:45:00 946

原创 深入理解redis持久化—AOF日志

redis持久化策略

2024-06-18 02:00:00 2342

原创 redis数据结构—哈希表

redis的底层数据结构——hash table

2024-06-17 19:52:30 689

原创 fork()写时复制原理

操作系统——fork写时复制机制详解

2024-06-17 12:18:51 674

原创 redis存储结构

redis的存储原理

2024-06-17 11:42:53 1124

原创 数据库MySQL——从0到1入门教程

MySQL小白入门教程

2024-06-14 16:36:38 518

原创 glibc函数malloc的工作原理

1.小于128kB的空间,使用内存池(在堆上)或brk或sbrk系统调用在堆上分配2.大于128kB的空间,使用mmap在文件映射区分配| 栈 (Stack) || || 映射区域 || (mmap) || || 堆 (Heap) || BSS段 || 数据段 || 代码段 |小于128 KB的内存分配对于小于128 KB的内存分配请求,glibc的内存分配器通常会使用brk系统调用来增加程序的堆(heap)空间。堆是从进程的虚拟内存空间中分配的连续内存区域。通过brk或sbrk。

2024-06-11 00:15:00 610

原创 leetcode题解:389.找不同

给定你两个字符串s和t,它们只包含小写字母。字符串t由字符串s随机重排,然后在随机位置添加一个字母。请找出在t中被添加的字母。t。

2024-06-10 14:47:58 250

原创 leetcodet题解:242.有效的字母异位词

给定两个字符串*s*和*t*,编写一个函数来判断*t*是否是*s*的字母异位词。**注意:**若*s*和*t*中每个字符出现的次数都相同,则称*s*和*t*互为字母异位词。t。

2024-06-10 14:47:17 373

原创 leetcode题解:28.找出字符串中第一个匹配项的下标

给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。needle。

2024-06-10 14:46:26 403

原创 TCP四次挥手全过程详解

保姆级教程——深入解析tcp四次挥手

2024-06-10 00:15:00 2178 1

原创 leetcode题解:1768.交替合并字符串

开始,通过交替添加字母来合并字符串。如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。推荐学习 https://xxetb.xetslk.com/s/p5Ibb。

2024-06-08 00:15:00 158

原创 leetcode题解:88.合并有序数组

提示给你两个按排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你nums2到nums1中,使合并后的数组同样按排列。**注意:**最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1的初始长度为m + n,其中前m个元素表示应合并的元素,后n个元素为0,应忽略。nums2的长度为n。**进阶:**你可以设计实现一个时间复杂度为O(m + n)的算法解决此问题吗?

2024-06-07 08:53:19 144

原创 leetcode题解:121.买卖股票的最佳时机

简单给定一个数组prices,它的第i个元素prices[i]表示一支给定股票第i天的价格。你只能选择买入这只股票,并选择在卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回0。

2024-06-07 08:42:09 146

原创 leetcode题解:27.移除元素

简单提示给你一个数组nums和一个值val,你需要移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。假设nums中不等于val的元素数量为knumsnumskvalnumsnumsk如果所有的断言都通过,你的解决方案将会。

2024-06-05 02:00:00 348

原创 leetcode题解:26.删除有序数组重复项

26.删除有序数组重复项

2024-06-04 21:42:23 464

原创 C语言字符串的设计缺陷

Redis解决c语言字符串缺陷——SDS

2024-06-04 02:30:00 2655

原创 栈的数组实现

C语言实现数据结构——栈

2024-05-30 00:15:00 152

原创 队列的数组实现

C语言实现数据结构——队列

2024-05-30 00:15:00 224

原创 mysql连接池的实现

基础组件设计——mysql连接池

2024-05-29 00:30:00 498

原创 线程池的实现

基础组件设计——线程池

2024-05-29 00:15:00 261

原创 内存池的实现

手把手实现基础组件——内存池

2024-05-28 10:37:45 256

原创 网易面试:手撕定时器

C++实现定时器组件

2024-05-28 09:58:23 723

原创 深入解析AVL树:高效实现二叉平衡搜索树

全面解析AVL树的实现细节,展示如何构建高效的二叉平衡搜索树,并进行性能优化。

2024-05-27 20:47:23 2560

原创 互斥锁 vs 自旋锁:底层机制详细解析

本文详细解析互斥锁与自旋锁的底层机制,帮助你掌握高效并发编程的核心技术。

2024-05-26 10:06:03 2265

原创 最小堆的数组实现

最小堆——数组实现

2024-05-24 09:45:04 394

原创 高效定时器设计方案——层级时间轮

高性能定时器——时间轮

2024-05-23 21:57:40 1114

原创 用户态网络缓冲区设计

基础组件之 网络缓冲区

2024-05-23 14:43:06 523

原创 无锁消息队列的设计实现

介绍高性能组件——无锁队列

2024-05-15 02:00:00 890

原创 一行代码使Linux系统崩溃?

Linux用户级漏洞分析

2024-05-14 20:02:45 2608 3

原创 cpu缓存一致性问题---cache写策略

介绍cpu缓存一致性问题

2024-05-14 11:09:43 434

原创 C++类和类模板——入门

c++类和类模板简介

2024-05-09 19:11:35 509

原创 指针?地址?内存?

指针?地址和地址上存储的值?

2024-05-08 16:55:31 1373

原创 一级指针和二级指针的区别

一级指针和二级指针的区别

2024-05-05 19:45:27 743 2

原创 tcp套接字和udp套接字可以共用一个端口吗?

传输层:在这一层,如果数据包是 TCP 或 UDP 协议的,系统会根据目的端口号来确定将数据包交给哪个套接字。即使 TCP 套接字和 UDP 套接字使用相同的端口号,由于它们的协议类型不同,操作系统可以轻松区分它们。TCP 套接字只会处理 TCP 协议的数据包,而 UDP 套接字只会处理 UDP 协议的数据包。因此,如果一个套接字使用 TCP 协议监听某个端口,另一个套接字使用 UDP 协议也监听相同的端口,它们可以共享同一个端口,在这里,数据包的帧头部会被移除,留下网络层协议的数据部分。

2024-05-05 13:21:33 297 1

空空如也

空空如也

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

TA关注的人

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