MySQL 面试知识点详解(索引、存储引擎、事务与隔离级别、MVCC、锁机制、优化)
一、索引基础概念
1 索引是什么?
- 定义:索引是帮助MySQL高效获取数据的有序数据结构,类似书籍的目录。
- 核心作用:减少磁盘I/O次数,提升查询速度(以空间换时间)。
2 索引的优缺点
优点 | 缺点 |
---|---|
加速查询(WHERE、JOIN、ORDER BY) | 占用磁盘空间 |
保证数据唯一性(唯一索引) | 增删改操作变慢(维护索引) |
加速表间连接 | 过多索引增加优化器选择成本 |
2、索引数据结构
1. B+树(默认结构)
-
特点:
- 多叉平衡树,层数少(3~4层可存千万级数据)。
- 叶子节点存储数据(InnoDB存主键值或完整数据行)。
- 叶子节点通过指针串联,支持范围查询。
-
B+树 vs B树:
对比项 B+树 B树 数据存储位置 仅叶子节点存数据 所有节点均可存数据 查询稳定性 稳定(查询路径长度一致) 不稳定 范围查询 高效(叶子节点链表连接) 需中序遍历
2. 哈希索引(MEMORY引擎)
- 特点:
- 基于哈希表,精确查询O(1)时间复杂度。
- 不支持范围查询和排序,仅适合等值查询。
3、索引类型与使用场景
1. 索引分类
类型 | 说明 | 示例 |
---|---|---|
主键索引 | 唯一标识,不允许NULL | PRIMARY KEY (id) |
唯一索引 | 列值唯一,允许NULL | UNIQUE KEY (email) |
普通索引 | 无唯一性约束 | INDEX idx_name (name) |
联合索引 | 多列组合索引 | INDEX idx_age_name (age,name) |
全文索引 | 文本内容分词搜索(InnoDB支持) | FULLTEXT (content) |
2. 聚簇索引 vs 非聚簇索引
对比项 | 聚簇索引(InnoDB) | 非聚簇索引(MyISAM) |
---|---|---|
数据存储 | 索引与数据文件绑定 | 索引与数据文件分离 |
主键查询 | 直接定位数据行 | 需回表查询(二次查找) |
叶子节点内容 | 存储完整数据行 | 存储数据行的物理地址 |
二、存储引擎
1. InnoDB vs MyISAM
特性 | InnoDB | MyISAM |
---|---|---|
事务支持 | ✅ ACID 事务支持 | ❌ 不支持事务 |
锁机制 | 行级锁(默认)、表级锁、间隙锁 | 表级锁(读锁/写锁) |
外键约束 | ✅ 支持 | ❌ 不支持 |
崩溃恢复 | ✅ Redo/Undo Log 保证数据恢复 | ❌ 需手动修复表 |
全文索引 | ✅(5.6+版本) | ✅ 原生支持 |
适用场景 | 高并发读写、OLTP(如电商、支付) | 读多写少、静态数据(如日志、报表) |
文件结构 | .ibd (数据+索引) | .frm (表结构)、.MYD (数据)、.MYI (索引) |
核心区别:
- 事务与锁粒度:InnoDB 通过行级锁和 MVCC 支持高并发,MyISAM 表锁在写入时阻塞其他操作。
- 数据完整性:InnoDB 支持外键约束和崩溃自动恢复,MyISAM 无此功能。
2. 其他存储引擎
- MEMORY:数据存储在内存中,读写极快但重启丢失,适用于临时表或缓存。
- ARCHIVE:压缩存储历史数据,适合归档场景,不支持索引。
三、事务与隔离级别
1. ACID 特性
- 原子性(Undo Log):事务操作要么全成功,要么全失败。
- 一致性:事务前后数据满足完整性约束(如主键唯一)。
- 隔离性(MVCC + 锁):通过隔离级别控制并发事务的可见性。
- 持久性(Redo Log):事务提交后数据持久化到磁盘。
2. 隔离级别与问题
隔离级别 | 脏读 | 不可重复读 | 幻读 | 实现方式 |
---|---|---|---|---|
读未提交 | ✅ | ✅ | ✅ | 无锁 |
读已提交 (RC) | ❌ | ✅ | ✅ | MVCC + 行锁 |
可重复读 (RR) | ❌ | ❌ | ❌(InnoDB 通过间隙锁解决) | MVCC + 间隙锁 |
串行化 | ❌ | ❌ | ❌ | 表级锁 |
四、MVCC(多版本并发控制)
MySQL中的MVCC(多版本并发控制)是一种用于提高数据库并发性能的机制,通过维护数据的多个版本来实现非锁定读,从而减少读写操作的冲突。
1. MVCC 的核心思想
MVCC允许不同事务看到数据的不同版本,通过为每个修改操作创建新版本(而非直接覆盖旧数据),实现读写操作的并发执行。读操作访问快照(历史版本),写操作创建新版本,从而避免加锁阻塞。
2. MVCC 的核心组件
(1)隐藏字段
InnoDB为每行数据添加两个隐藏字段:
- DB_TRX_ID:记录最后一次修改该行的事务ID。
- DB_ROLL_PTR:回滚指针,指向该行的上一个版本(Undo Log中的记录)。
(2)Undo Log
- 作用:存储数据的历史版本,用于事务回滚和MVCC读取旧版本。
- 结构:每次修改操作(INSERT/UPDATE/DELETE)均生成对应的Undo Log,形成版本链。例如:
- INSERT操作记录删除的Undo Log。
- DELETE操作记录插入的Undo Log。
- UPDATE操作记录反向更新的Undo Log。
- 清理机制:当无事务需要旧版本时,通过Purge线程清理过期Undo Log。
(3)Read View(一致性视图)
- 作用:决定事务能看到哪些数据版本,根据隔离级别生成不同策略。
- 结构:
m_ids
:生成Read View时活跃(未提交)的事务ID列表。min_trx_id
:活跃事务中的最小ID。max_trx_id
:下一个将分配的事务ID(当前最大ID+1)。creator_trx_id
:创建该Read View的事务ID(仅当自身有修改时存在)。
3. 数据可见性判断规则
事务通过Read View检查数据行的DB_TRX_ID
,判断版本可见性:
- 已提交且早于所有活跃事务:
trx_id < min_trx_id
→ 可见。 - 由当前事务自身修改:
trx_id == creator_trx_id
→ 可见。 - 未提交或在Read View之后开启:
trx_id >= max_trx_id
→ 不可见。 - 活跃事务中的未提交修改:
trx_id
在m_ids
列表中 → 不可见。 - 已提交但位于活跃事务范围内:
其他情况 → 可见。
事务遍历版本链,直到找到满足条件的版本或链尾(表示数据不可见)。
4. 不同隔离级别的实现
- READ COMMITTED:
每次SELECT生成新的Read View,总能读取最新提交的数据。 - REPEATABLE READ(默认):
首次SELECT生成Read View,后续读操作复用该视图,保证可重复读。 - SERIALIZABLE:
退化为加锁读写,不使用MVCC。
5. MVCC 工作流程示例
假设事务A(ID=100)执行查询:
- 生成Read View:活跃事务ID列表为[150, 160],
min_trx_id=150
,max_trx_id=200
。 - 读取数据行:
- 当前行
DB_TRX_ID=90
(小于150且未在活跃列表)→ 可见。 - 若行
DB_TRX_ID=170
(介于150-200且不在活跃列表)→ 可见。 - 若行
DB_TRX_ID=150
(在活跃列表中)→ 不可见,沿版本链查找更早版本。
- 当前行
五、锁机制
1. 锁类型
分类维度 | 类型 | 说明 |
---|---|---|
操作粒度 | 表锁 | 锁定整张表(MyISAM 默认),并发度低。 |
行锁 | 锁定单行数据(InnoDB 默认),并发度高,但可能死锁。 | |
锁模式 | 共享锁(S锁) | 允许其他事务读,阻止写操作(SELECT ... LOCK IN SHARE MODE )。 |
排他锁(X锁) | 阻止其他事务读写(SELECT ... FOR UPDATE )。 | |
锁范围 | 间隙锁 | 锁定索引记录的间隙,防止插入(解决幻读)。 |
意向锁 | 表级锁,用于快速判断表中是否存在行锁(IS/IX 锁)。 |
2. 锁优化建议
- InnoDB:
- 通过索引减少锁范围,避免全表扫描。
- 控制事务大小,减少锁持有时间。
- MyISAM:
- 设置
low_priority_updates=1
提升读优先级。 - 启用并发插入(
concurrent_insert=1
)减少写阻塞。
- 设置
六、数据库优化
1. SQL 优化
- 索引优化:
- 避免
SELECT *
,使用覆盖索引减少回表。 - 联合索引遵循最左前缀原则。
- 避免
- 查询优化:
- 避免
LIKE '%前缀'
,改用全文索引或倒排索引。 - 拆分复杂查询,减少临时表使用。
- 避免
2. 架构优化
- 读写分离:主库处理写操作,从库处理读操作。
- 分库分表:按业务或数据量分片(如水平分表)。
- 缓存策略:使用 Redis 缓存热点数据,减少数据库压力。
3. 设计优化
- 字段类型:优先使用整型、ENUM 替代字符串,减少存储空间。
- 避免 NULL:NULL 增加查询复杂度,尽量设置默认值。
七、高频面试题
-
InnoDB 如何解决幻读?
- RR 隔离级别下,通过 间隙锁 锁定索引范围,阻止其他事务插入新数据。
-
什么是 MVCC?
- 多版本并发控制,通过事务版本链和 ReadView 实现非锁定读,减少锁冲突。
-
如何避免死锁?
- 按固定顺序访问资源,减少事务粒度,设置合理的超时时间。
-
索引失效的常见场景?
- 对索引列使用函数或运算,OR 连接非索引列,隐式类型转换。
-
MySQL中的日志系统
- Bin Log:用于主从复制和数据恢复(逻辑日志)。
- Redo Log:保证事务持久性(物理日志)。
- Undo Log:保证事务原子性(逻辑日志)。
相关文章:
MySQL 面试知识点详解(索引、存储引擎、事务与隔离级别、MVCC、锁机制、优化)
一、索引基础概念 1 索引是什么? 定义:索引是帮助MySQL高效获取数据的有序数据结构,类似书籍的目录。核心作用:减少磁盘I/O次数,提升查询速度(以空间换时间)。 2 索引的优缺点 优点缺点加速…...
JS API
const变量优先 即对象、数组等引用类型数据可以用const声明 API作用和分类 DOM (ducument object model) 操作网页内容即HTML标签的 树状模型 HTML中标签 JS中对象 最大对象 document 其次大 html 以此类推 获取DOM对象 CSS 中 使用选择器 JS 中 选多个 时代的眼泪 修…...
hackmyvm-Principle
近况: 很难受、 也很累。 但是庆幸靶机很好 正值清明时节 清明时节雨纷纷 🌧️,路上行人欲断魂 😢。 靶机地址 信息收集 主机发现 端口扫描 80端口仅仅是一个nginx 的欢迎界面而已 robots.txt的内容 hi.html的内容 hackme不存在 investigat…...
小刚说C语言刷题——第14讲 逻辑运算符
当我们需要将一个表达式取反,或者要判断两个表达式组成的大的表达式的结果时,要用到逻辑运算符。 1.逻辑运算符的分类 (1)逻辑非(!) !a,当a为真时,!a为假。当a为假时,!a为真。 例…...
池化技术的深度解析与实践指南【大模型总结】
池化技术的深度解析与实践指南 池化技术作为计算机系统中的核心优化手段,通过资源复用和预分配机制显著提升系统性能。本文将从原理、实现到最佳实践,全方位剖析池化技术的核心要点,并结合实际案例说明其应用场景与调优策略。 一、池化技术的…...
基于Java的区域化智慧养老系统(源码+lw+部署文档+讲解),源码可白嫖!
摘 要 时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,区域化智慧养老系统当然不能排除在外。区域化智慧养老系统是在实际应用和软件工程的开发原理之上,运用Java语言、JSP技术以及…...
2025年3月 Scratch 图形化(一级)真题解析 中国电子学会全国青少年软件编程等级考试
2025.03 Scratch图形化编程等级考试一级真题试卷 一、选择题 第 1 题 气球初始位置如下图所示,scratch运行下列程序,气球会朝哪个方向移动?( ) A.水平向右 B.垂直向下 C.水平向左 D.垂直向上 答案:…...
Docker 命令简写配置
alias dpsdocker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}" 配置好后,需要输入: source ~/.bashrc 后生效...
linux signal up/down/down_interruptiable\down_uninterruptiable使用
在Linux内核中,down, down_interruptible, down_killable, 和 up 是用于操作信号量(semap hores)的函数,它们用于进程同步和互斥。以下是对这些函数的简要说明。 1,down(&sem): 这个函数用于获取信号量。如果信号…...
【嵌入式-stm32电位器控制以及旋转编码器控制LED亮暗】
嵌入式-stm32电位器控制LED亮暗 任务1代码1Key.cKey.hTimer.cTimer.hPWM.cPWM.hmain.c 实验现象1任务2代码2Key.cKey.hmain.c 实验现象2问题与解决总结 源码框架取自江协科技,在此基础上做扩展开发。 任务1 本文主要介绍利用stm32f103C8T6实现电位器控制PWM的占空比…...
Mysql 中 ACID 背后的原理
在 MySQL 中,ACID 是事务处理的核心原则,用于保证数据库在执行事务时的可靠性、数据一致性和稳定性。ACID 是四个关键特性的首字母缩写,分别是:Atomicity(原子性)、Consistency(一致性ÿ…...
【算法】简单数论
模运算 a m o d b a − ⌊ a / b ⌋ b a\ mod \ b a - \lfloor a / b \rfloor \times b a mod ba−⌊a/b⌋b n m o d p n \ mod\ p n mod p得到的结果的正负至于被除数 n n n有关 模运算的性质: ( a b ) m o d m ( ( a m o d m ) ( b m o d m ) ) m o d m …...
mybatis慢sql无所遁形
痛点问题: 扫描项目的慢sql 并提出优化建议 开源项目地址:gitee:mybatis-sql-optimizer-spring-boot-starter: 这个starter可以帮助开发者在开发阶段发现SQL性能问题,并提供优化建议,从而提高应用程序的数据库访问效…...
MCP有哪些比较好的资源?
MCP(Model Context Protocol)是一种由Anthropic公司推出的开放协议,旨在为AI模型与开发环境之间提供统一的上下文交互接口。目前,围绕MCP协议的资源非常丰富,以下是一些比较好的MCP资源推荐: Smithery Smit…...
Nginx功能及应用全解:从负载均衡到反向代理的全面剖析
Nginx作为一款开源的高性能HTTP服务器和反向代理服务器,凭借其高效的资源利用率和灵活的配置方式,已成为互联网领域中最受欢迎的Web服务器之一。无论是作为HTTP服务器、负载均衡器,还是作为反向代理和缓存服务器,Nginx的多种功能广…...
FreeRTOS/任务创建和删除的API函数
任务的创建和删除本质就是调用FreeRTOS的API函数 API函数描述xTaskCreate()动态方式创建任务xTaskCreateStatic()静态方式创建任务vTaskDelete()删除任务 动态创建任务 任务的任务控制块以及任务的占空间所需的内存,均由FreeRTOS从FreeRTOS管理的堆中分配 静态创建…...
【jvm】GC评估指标
目录 1. 说明2. 吞吐量(Throughput)3. 暂停时间(Pause Time)4. 内存占用(Footprint)5. 频率(Frequency)6. 对象晋升率(Promotion Rate)7. 内存分配速率&#…...
数据集(Dataset)和数据加载器(DataLoader)-pytroch学习3
pytorch网站学习 处理数据样本的代码往往会变得很乱、难以维护;理想情况下,我们希望把数据部分的代码和模型训练部分分开写,这样更容易阅读、也更好维护。 简单说:数据和模型最好“分工明确”,不要写在一起。 PyTor…...
影响RTOS实时性的因素有哪些?
目录 1、任务调度延迟 2、中断处理延迟 3、系统负载 4、任务优先级反转 5、时钟精度 6、内存管理 影响RTOS实时性的因素主要包括任务调度延迟、中断处理延迟、系统负载、任务优先级反转、时钟精度、内存管理等。 1、任务调度延迟 任务调度器是RTOS的核心,当…...
二叉树 递归
本篇基于b站灵茶山艾府的课上例题与课后作业。 104. 二叉树的最大深度 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出&…...
ZLMediaKit 源码分析——[5] ZLToolKit 中EventPoller之延时任务处理
系列文章目录 第一篇 基于SRS 的 WebRTC 环境搭建 第二篇 基于SRS 实现RTSP接入与WebRTC播放 第三篇 centos下基于ZLMediaKit 的WebRTC 环境搭建 第四篇 WebRTC学习一:获取音频和视频设备 第五篇 WebRTC学习二:WebRTC音视频数据采集 第六篇 WebRTC学习三…...
【51单片机】2-6【I/O口】电动车简易防盗报警器实现
1.硬件 51最小系统继电器模块震动传感器模块433M无线收发模块 2.软件 #include "reg52.h" #include<intrins.h> #define J_ON 1 #define J_OFF 0sbit switcher P1^0;//继电器 sbit D0_ON P1^1;//433M无线收发模块 sbit D1_OFF P1^2; sbit vibrate …...
windows下载安装远程桌面工具RealVNC-Server教程(RealVNC_E4_6_1版带注册码)
文章目录 前言一、下载安装包二、安装步骤三、使用VNC-Viewer客户端远程连接,输入ip地址,密码完成连接 前言 在现代工作和生活中,远程控制软件为我们带来了极大的便利。RealVNC - Server 是一款功能强大的远程控制服务器软件,通过…...
C语言的操作系统
C语言的操作系统 引言 操作系统是一种系统软件,它管理计算机硬件和软件资源,并为计算机程序提供公共服务。在现代计算机科学中,操作系统是不可或缺的组成部分,而C语言则是实现高效操作系统的主要编程语言之一。本文将探讨C语言在…...
selectdb修改表副本
如果想修改doris(也就是selectdb数据库)表的副本数需要首先确定是否分区表,当前没有数据字典得知哪个表是分区的,只能先show partitions看结果 首先,副本数不应该大于be节点数 其次,修改期间最好不要跑业务…...
leetcode数组-有序数组的平方
题目 题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/ 给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。 输入:nums [-4,-1,0,3,10] 输出ÿ…...
【python中级】关于Cython 的源代码pyx的说明
【python中级】关于Cython 的源代码pyx的说明 1.背景2.编译3.语法1.背景 Cython 是一个编程语言和工具链,用于将 Python 代码(或类 Python 的代码)编译成 C 语言,再进一步生成高性能的 Python 扩展模块(.so 或 .pyd 文件)。 在 Python 中,.pyx 文件是 Cython 的源代码文…...
开放最短路径优先 - OSPF【LSA详细】
目录 LSA的头部结构 LSA类型 LSA数据包 LSA的主要作用是传递路由信息。 LSA的头部结构 共占20个字节,不同类型的LSA头部字段部分都是相同的。 链路状态老化时间(Link-State Age) 2个字节。指示该条LSA的老化时间,即它存在了多长时间,单位…...
PyTorch:解锁AI新时代的钥匙
揭开PyTorch面纱 对于许多刚开始接触人工智能领域的朋友来说,PyTorch这个名字或许既熟悉又陌生。熟悉在于它频繁出现在各类技术论坛和新闻报道中;而陌生则源于对这样一个强大工具背后运作机制的好奇。简单来说,PyTorch是一个开源库ÿ…...
欧几里得算法求最大公约数、最小公倍数
这段代码就是不断用较小数和余数来更新 a 和 b,直到余数变为 0,最后返回的 a 就是最大公约数。 #include <iostream> using namespace std;//最大公约数 int gcd(int a, int b){//这个循环表示只要 b 不是 0,就继续进行。//因为当 b …...
QEMU源码全解析 —— 块设备虚拟化(14)
接前一篇文章:QEMU源码全解析 —— 块设备虚拟化(13) 本文内容参考: 《趣谈Linux操作系统》 —— 刘超,极客时间 《QEMU/KVM源码解析与应用》 —— 李强,机械工业出版社 特此致谢! 上一回开始解析VirtioDeviceClass的realize函数virtio_blk_device_realize(),再来回…...
深入理解AOP:面向切面编程的核心概念与实战应用
🌟 前言 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…...
3500 阶乘求和
3500 阶乘求和 ⭐️难度:中等 🌟考点:2023、思维、省赛 📖 📚 import java.util.Scanner;public class Main {public static void main(String[] args) {long sum 0;for(int i1;i<50;i) { // 之后取模都相等su…...
正则入门到精通
一、正则表达式入门 正则表达式本质上是一串字符序列,用于定义一个文本模式。通过这个模式,我们可以指定要匹配的文本特征。例如,如果你想匹配一个以 “abc” 开头的字符串,正则表达式可以写作 “^abc”,其中 …...
Mysql 行级锁在什么样的情况下会升级为表级锁?
在 MySQL 中,行级锁通常由 InnoDB 存储引擎使用,因为它支持高并发和细粒度的锁定。通常情况下,InnoDB 在执行诸如 UPDATE、DELETE 或 SELECT FOR UPDATE 等操作时,会为被修改的数据行加锁(行级锁)。但是&am…...
docker部署kkfileview
拉取 KKFileView 镜像 docker pull keking/kkfileview或指定版本 docker pull keking/kkfileview:4.1.0运行 KKFileView 容器 docker run -d \--name kkfileview \-p 8012:8012 \--restart always \keking/kkfileview-d:后台运行 -p 8012:8012:将容器…...
优选算法的妙思之流:分治——快排专题
专栏:算法的魔法世界 个人主页:手握风云 目录 一、快速排序 二、例题讲解 2.1. 颜色分类 2.2. 排序数组 2.3. 数组中的第K个最大元素 2.4. 库存管理 III 一、快速排序 分治,简单理解为“分而治之”,将一个大问题划分为若干个…...
蓝桥杯嵌入式第15届真题-个人理解+解析
个人吐槽 #因为最近蓝桥杯快要开始了,我舍不得米白费了,所以就认真刷刷模拟题,但是我感觉真题会更好,所以就看了一下上届的真题。不过它是真的长,我看着就头晕,但是还是把几个模块认真分析了一下就还是很容…...
数据库系统概述 | 第二章课后习题答案
本文为数据库系统概论(第五版)【高等教育出版社】部分课后答案 如有错误,望指正 👻 习题 👻 答案...
深入解析CPU主要参数:选购与性能评估指南
引言 中央处理器(CPU)作为计算机的"大脑",其性能直接决定了整机的运算能力和响应速度。无论是组装新电脑、升级旧系统还是选购笔记本电脑,理解CPU的关键参数都至关重要。本文将从技术角度全面解析CPU的各项主要参数&am…...
Lettuce与Springboot集成使用
一、Lettuce核心优势与Spring Boot集成背景 Lettuce特性 基于Netty的非阻塞I/O模型,支持同步/异步/响应式编程线程安全:共享单连接实现多线程并发操作,性能衰减低原生支持Redis集群、哨兵、主从架构,自动重连机制保障高可用Spring…...
【Kafka基础】ZooKeeper在Kafka中的核心作用:分布式系统中枢神经系统
在分布式系统的世界里,协调和管理多个节点间的状态是一项复杂而关键的任务。Apache Kafka作为一款高性能的分布式消息系统,其设计哲学是"专为单一目的而优化"——即高效处理消息流。为了实现这一目标,Kafka选择将集群协调管理的重任…...
专业的情商测评工具:EQ-i在线测评系统
专业的情商测评工具:EQ-i在线测评系统 基于巴昂情商量表的专业情商评估工具,帮助您更好地了解自己的情商水平。 什么是EQ-i? EQ-i(Emotional Quotient Inventory)是由Reuven Bar-On开发的情商量表,是国际上…...
Ubuntu安装Podman教程
1、先修改apt源为阿里源加速 备份原文件: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup 修改源配置: vim sources.list删除里面全部内容后,粘贴阿里源: deb http://mirrors.aliyun.com/ubuntu/ focal main re…...
7.训练篇5-毕设
使用23w张数据集-vit-打算30轮-内存崩了-改为batch_size 8 我准备用23w张数据集,太大了,这个用不了,所以 是否保留 .stack() 加载所有图片?情况建议✅ 小数据集(<2w张,图像小)想加快速度可…...
java数据结构-哈希表
什么是哈希表 最理想的搜索方法 , 即就是在查找某元素时 , 不进行任何比较的操作 , 一次直接查找到需要搜索的元素 , 可以达到这种要求的方法就是哈希表. 哈希表就是通过构造一种存储结构 , 通过某种函数使元素存储的位置与其关键码位形成一 一映射的关系 , 这样在查找元素的时…...
Linux错误(6)X64向量指令访问地址未对齐引起SIGSEGV
Linux错误(6)X64向量指令访问地址未对齐引起SIGSEGV Author: Once Day Date: 2025年4月4日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Linux实…...
SpringBoot配置文件多环境开发
目录 一、设置临时属性的几种方法 1.启动jar包时,设置临时属性 2.idea配置临时属性 3.启动类中创建数组指定临时属性 二、多环境开发 1.包含模式 2.分组模式 三、配置文件的优先级 1.bootstrap 文件优先: 2.特定配置文件优先 3.文件夹位置优…...
解锁健康密码:拥抱活力养生生活
在追求高品质生活的今天,健康养生成为了人们关注的焦点。它不仅关乎当下的生活质量,更是对未来的有力投资。 合理的饮食是健康养生的基石。一日三餐,应遵循 “五谷为养,五果为助,五畜为益,五菜为充” 的原则…...
手动将ModelScope的模型下载到本地
一、ModelScope 介绍 ModelScope 官网地址: https://www.modelscope.cn/home 模型库地址:https://www.modelscope.cn/models 文档中心:https://www.modelscope.cn/docs/home ModelScope旨在打造下一代开源的模型即服务共享平台,为…...