- 2024-12-07STM32 串口和I2C结合案例 hal库代码书写
hal库的创建打开cubemx->选择芯片STM32F103ZET6,双击打开SystemCore系统核心->SYS下->DeBug选择SerialWire串口SystemCore系统核心->RCC下->highSpeedClock(高速时钟)以及LSE全部选择外部晶振SystemCore系统核心->GPIO下->PA0/PA1/PA8三者全部选择GPIO_Output,具体配
- 2024-12-06一文了解MySQL写缓冲Change Buffer(定义 作用 执行过程 触发时机 业务场景)
MySQL的数据存储包含内存与磁盘两个部分,内存缓冲区bufferpool以页为单位,缓存最热的数据页datapage与索引页indexpage,InnoDB以变种LRU算法管理缓冲池,并且解决了预读失效和缓冲池污染的问题。对于读请求,缓冲池可以减少磁盘IO,提升性能,那么写请求呢?思考2个场景:场景1:假设要
- 2024-12-05C#FileStrea读写
//FileStream操作字节的//StreamReader和StreamWriter操作字符的FileStreamfsRead=newFileStream(@"C:\Users\admin\Desktop\av.txt",FileMode.OpenOrCreate,FileAccess.Read);byte[]buffer=newbyte[1024*1024*5];fsRea
- 2024-12-03[Linux]管道
管道进程间通信通信目的数据传输:一个进程需要将它的数据发送给另一个进程。资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行,此时控制
- 2024-12-02InnoDB的一次更新事务是怎么实现的?
一次InnnoDB的update操作,涉及到BufferPool、BinLog、UndoLog、RedoLog以及物理磁盘,完整的一次操作过程基本如下:1、在BufferPool中读取数据:当lnnoDB需要更新一条记录时,首先会在BufferPool中查找该记录是否在内存中。如果没有在内存中,则从磁盘读取该页到BufferPool中。
- 2024-12-01基于surging的木舟平台如何分布式接入设备
一、概述上篇文章介绍了木舟通过基于木舟平台浅谈surging的热点KEY的解决方法,那么此篇文章将介绍基于surging的木舟平台如何分布式接入设备. 木舟(Kayak)是什么? 木舟(Kayak)是基于.NET6.0软件环境下的surging微服务引擎进行开发的,平台包含了微服
- 2024-11-30InnoDB磁盘架构
MySQL5.5版本开始,默认使用InnoDB存储引擎,它擅长事务处理,具有崩溃恢复特性,在日常开发中使用非常广泛。下面是InnoDB架构图,左侧为内存结构,右侧为磁盘结构。磁盘结构接下来,再来看看InnoDB体系结构的右边部分,也就是磁盘结构:SystemTablespace系统表空间是ChangeBuffer的
- 2024-11-30【MySQL】MySQL8实用底层知识,Buffer Pool缓冲池
1.概述本章是MySQL8官方翻译。ThebufferpoolisanareainmainmemorywhereInnoDBcachestableandindexdataasitisaccessed.Thebufferpoolpermitsfrequentlyuseddatatobeaccesseddirectiyfrommemory,whichspeedsupprocessing.Ondedic
- 2024-11-29基于Linux下单进程的网络客户端和服务端开发
基于Linux下单进程的网络客户端和服务端开发前言一、socket是什么?二、网络客户端1.创建流式套截字2.connect()3.send()4.recv()5.关闭socket三、网络服务端1.创建服务端监听套接字2.用于指定通信的IP和端口3.把socket设置为监听的socket4.接收客户端的连接5.recv()/send
- 2024-11-26Docker 部署 mysql 5.7
一、准备工作1.打开目录cd/usr/local/docker/2.创建文件夹mkdirmysql3.打开文件夹cdmysql/ 二、创建挂载目录1.创建数据挂载目录mkdirdata2.创建配置文件目录mkdirconfig3.打开configcdconfig/4.编写配置文件vimmy.cnf粘贴配置[client
- 2024-11-25Java NIO(io模型,三大组件,网络编程)
一、NIOJavaNIO(NewI/O,新的输入输出)是Java1.4引入的一套I/O库,相比传统的IO(字节流和字符流),它主要用于处理高效的、非阻塞的I/O操作,特别是在需要处理大规模数据或高并发的场景中表现突出。JavaNIO提供了非阻塞模式、内存映射文件、缓冲区等一系列增强功能,适用于现代的高
- 2024-11-25Java NIO(io模型,三大组件,网络编程)
一、NIOJavaNIO(NewI/O,新的输入输出)是Java1.4引入的一套I/O库,相比传统的IO(字节流和字符流),它主要用于处理高效的、非阻塞的I/O操作,特别是在需要处理大规模数据或高并发的场景中表现突出。JavaNIO提供了非阻塞模式、内存映射文件、缓冲区等一系列增强功能,适用于现
- 2024-11-24浅谈软件开发中的yield关键字:从餐厅服务理解异步编程之美
在现代软件开发中,处理大量数据流时经常会遇到性能和内存消耗的问题。传统的编程方式往往是一次性获取所有数据,这就像餐厅厨师要把所有菜品做完才上菜一样,既不高效也不够灵活。而yield关键字的出现,为我们提供了一种优雅的解决方案。我们可以把yield机制类比成一家高效运转的餐
- 2024-11-24MySQL原理简介—4.深入分析Buffer Pool
大纲1.BufferPool是什么2.如何配置BufferPool的大小3.数据页是MySQL中抽象出来的数据单位4.数据页如何对应BufferPool中的缓存页5.缓存页对应的描述信息是什么6.BufferPool简单总结7.数据库启动时如何初始化BufferPool8.free链表可判断哪些缓存页是空闲的9.free链表
- 2024-11-24MySQL原理简介—2.InnoDB架构原理和执行流程
大纲1.更新语句在MySQL中是如何执行的2.重要的内存结构—BufferPool缓冲池3.undo日志文件如何让更新的数据可以回滚4.更新BufferPool缓冲池中的缓存数据5.RedoLogBuffer如何避免宕机时数据丢失6.如果还没提交事务时MySQL宕机了怎么办7.提交事务时将redo日志写入磁盘中
- 2024-11-23MySQL UPDATE语句执行链路解析
文章目录引言1.总览:UPDATE语句的执行链路2.客户端发起请求2.1SQL请求的形成2.2MySQL通信协议3.连接器模块3.1连接管3.2会话上下文4.SQL解析器4.1语法解析4.2语法错误处理5.查询优化器5.1查询优化的核心概念5.2优化器生成执行计划的步骤5.3优化器常见挑
- 2024-11-23MySQL Join 的原理与优化实践
文章目录引言一、基础准备:创建环境与示例数据1.初始化示例表2.示例Join查询3.EXPLAIN输出分析二、MySQLJoin的核心算法与执行机制1.三种Join算法的实现与原理1.1IndexNested-LoopJoin(INLJ)1.2SimpleNested-LoopJoin(SNLJ)1.3BlockNested-LoopJoin(BNLJ)
- 2024-11-232024-2025-1 20241407《计算机基础与程序设计》第九周学习总结
作业信息这个作业属于哪个课程2024-2025-1计算机基础与程序设计这个作业要求在哪里2024-2025-1计算机基础与程序设计第九周作业这个作业的目标操作系统责任,内存与进程管理,分时系统,CPU调度,文件、文件系统,文件保护,磁盘调度作业正文本博客教材学习内容总结