当前位置: 首页 > news >正文

MySQL:锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。

在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂。

从对数据操作的粒度分 :

  • 表锁:操作时,会锁定整个表。
  • 行锁:操作时,会锁定当前操作行。

从对数据操作的类型分:

  • 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。
  • 写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁。

相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。

下表中罗列出了各存储引擎对锁的支持情况:
在这里插入图片描述

锁类型:
在这里插入图片描述

从上述特点可见,很难笼统地说哪种锁更好,只能就具体应用的特点来说哪种锁更合适!仅从锁的角度来说:表级锁更适合于以查询为主,只有少量按索引条件更新数据的应用,如Web 应用;

而行级锁则更适合于有大量按索引条件并发更新少量不同数据,同时又有并查询的应用,如一些在线事务处理(OLTP)系统。

MyISAM表锁

MyISAM 存储引擎只支持表锁。

格式:

加读锁 : lock table table_name read; 
加写锁 : lock table table_name write;

MyISAM 在执行查询语句(SELECT)前,会自动给涉及的所有表加读锁,在执行更新操作(UPDATE、DELETE、INSERT 等)前,会自动给涉及的表加写锁,这个过程并不需要用户干预,因此,用户一般不需要直接用 LOCK TABLE 命令给 MyISAM 表显式加锁。

表锁特点:

1) 对MyISAM 表的读操作,不会阻塞其他用户对同一表的读请求,但会阻塞对同一表的写请求;

2) 对MyISAM 表的写操作,则会阻塞其他用户对同一表的读和写操作;

简而言之,就是读锁会阻塞写,但是不会阻塞读。而写锁,则既会阻塞读,又会阻塞写。

此外,MyISAM 的读写锁调度是写优先,这也是MyISAM不适合做写为主的表的存储引擎的原因。因为写锁后,其他线程不能做任何操作,大量的更新会使查询很难得到锁,从而造成永远阻塞。

操作:

 -- MySQL的锁机制
drop database if exists  mydb14_lock;
create database mydb14_lock ;use mydb14_lock;create table `tb_book` (`id` int(11) auto_increment,`name` varchar(50) default null,`publish_time` date default null,`status` char(1) default null,primary key (`id`)
) engine=myisam default charset=utf8 ;insert into tb_book (id, name, publish_time, status) values(null,'java编程思想','2088-08-01','1');
insert into tb_book (id, name, publish_time, status) values(null,'solr编程思想','2088-08-08','0');create table `tb_user` (`id` int(11) auto_increment,`name` varchar(50) default null,primary key (`id`)
) engine=myisam default charset=utf8 ;insert into tb_user (id, name) values(null,'令狐冲');
insert into tb_user (id, name) values(null,'田伯光');

InnoDB行锁

行锁特点:

偏向InnoDB 存储引擎,开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

InnoDB 与 MyISAM 的最大不同有两点:一是支持事务;二是 采用了行级锁。

行锁模式:

InnoDB 实现了以下两种类型的行锁:

  • 共享锁(S):又称为读锁,简称S锁,共享锁就是多个事务对于同一数据可以共享一把锁,都能访问到数据,但是只能读不能修改。
  • 排他锁(X):又称为写锁,简称X锁,排他锁就是不能与其他锁并存,如一个事务获取了一个数据行的排他锁,其他事务就不能再获取该行的其他锁,包括共享锁和排他锁,但是获取排他锁的事务是可以对数据就行读取和修改。

对于UPDATEDELETEINSERT语句,InnoDB会自动给涉及数据集加排他锁(X).

对于普通SELECT语句,InnoDB不会加任何锁.

语法:

共享锁(S):SELECT * FROM table_name WHERE ... LOCK IN SHARE MODE 
排他锁(X) :SELECT * FROM table_name WHERE ... FOR UPDATE

操作:

-- 行锁 
drop table if exists test_innodb_lock;
create table test_innodb_lock(id int(11),name varchar(16),sex varchar(1)
)engine = innodb ;insert into test_innodb_lock values(1,'100','1');
insert into test_innodb_lock values(3,'3','1');
insert into test_innodb_lock values(4,'400','0');
insert into test_innodb_lock values(5,'500','1');
insert into test_innodb_lock values(6,'600','0');
insert into test_innodb_lock values(7,'700','0');
insert into test_innodb_lock values(8,'800','1');
insert into test_innodb_lock values(9,'900','1');
insert into test_innodb_lock values(1,'200','0');create index idx_test_innodb_lock_id on test_innodb_lock(id);
create index idx_test_innodb_lock_name on test_innodb_lock(name);

相关文章:

MySQL:锁机制

锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)。 在数据库中,除传统的计算资源(如 CPU、RAM、I/O 等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效…...

在lio_sam中融入GPS

文章目录 概要GPS里程计GPS因子反算后的GPS里程计概要 在LIO(激光惯性里程计)系统中,将GPS信息融合到里程计中,借助GTSAM(Georgia Tech Smoothing and Mapping)库进行因子图优化,可以有效提升全局定位精度。 GPS里程计 利用GeographicLib第三方库将经纬度投影到局部笛…...

快速构建NLP理论知识体系

NLP理论知识体系 一句话解释NLPNLP模型及原理简述1、Rag 一句话解释NLP 如果我们要实现机器翻译、情感分析、问答系统、文本摘要、聊天机器人、构造智能化的辅助文件填写模板,NLP可以通过现成的模型对输入的语音、文字、图片进行处理(分词、标词性、去停…...

长期稳定境外号码解决方案:内地用户如何打电话、接收短信和验证码

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 三大方案对比 📒📝 免费且稳定的境外号码📝 长期稳定且符合本地政策📝 适合低频使用者⚓️ 相关链接 ⚓️📖 介绍 📖 许多用户在日常生活中需要拨打境外电话、接收短信或验证码,尤其是跨境电商从业者,更是对境外号…...

SpringCloud 与 SpringBoot版本对应关系,以及maven,jdk

目录 SpringCloud 与 SpringBoot各版本的对应关系 方式一 Learn 方式二 OverView SpringBoot与JDK、maven 容器等对应关系 SpringCloud 与 SpringBoot各版本的对应关系 SpringCloudSpringBootFinchley2.0.xFinchley.SR1Spring Boot >=2.0.3.RELEASE and <=2.0.9RELEAS…...

FSMC实验

FSMC &#xff0c;即灵活的静态存储控制器&#xff0c;能够与同步或异步存储器和 16 位 PC 存储器卡连接&#xff0c; STM32 的 FSMC 接口支持包括 SRAM 、 NAND FLASH 、 NOR FLASH 和 PSRAM 等存储器。 从上图我们可以看出&#xff0c; STM32 的 FSMC 将外部设…...

K8s命令大全(Complete List of K8s Commands)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…...

C++学习笔记

小甲鱼学习课程 02 #include <iostream> 头文件 iostream iostream 翻译为IO流 输入输出流 using namespace std; 引入命名空间 c标准库所使用的所有标识符都是在同一个特殊的名字空间std中来定义的&#xff1b; 偷懒使用这句话&#xff1b; std::cout <…...

伺服控制电机多大功率合适?

随着现代工业自动化的发展&#xff0c;伺服控制电机在各个行业的应用愈加广泛。伺服电机以其精确的控制、高效的运行和高响应速度&#xff0c;成为许多机械设备中不可或缺的组成部分。然而&#xff0c;在选择伺服电机时&#xff0c;确定其功率大小是一个关键环节。那么&#xf…...

《OpenCV 基础全攻略:从入门到精通》

《OpenCV 基础全攻略&#xff1a;从入门到精通》 一、OpenCV 简介&#xff08;一&#xff09;特点&#xff08;二&#xff09;优势&#xff08;三&#xff09;应用场景 二、安装与配置三、OpenCV 函数详解1. 图像读取函数 cv2.imread ()2. 图像显示函数 cv2.imshow ()3. 图像保…...

spring ai如何使用function call调用第三方模型

这里写自定义目录标题 背景什么是function call怎么用function call&#xff1f;总结 背景 一直困惑于ai是如何使用插件或者其他一些功能的&#xff0c;后来发现&#xff0c;很多大模型都支持function call功能&#xff0c;如何让大模型能够联网查询呢&#xff0c;function ca…...

2024 数学建模国一经验分享

2024 数学建模国一经验分享 背景&#xff1a;武汉某211&#xff0c;专业&#xff1a;计算机科学 心血来潮&#xff0c;就从学习和组队两个方面指点下后来者&#xff0c;帮新人避坑吧 2024年我在数学建模比赛中获得了国一&#xff08;教练说论文的分数是湖北省B组第一&#xff0…...

javaweb-Mybaits

1.Mybaits入门 &#xff08;1&#xff09;介绍 &#xff08;2&#xff09; 2.Mybaits VS JDBC 3.数据库连接池 &#xff08;1&#xff09;SpringBoot默认连接池为hikari&#xff0c;切换为Druid有两种方式 方式一&#xff1a;加依赖 方式二&#xff1a;直接修改配置文件 …...

108.【C语言】数据结构之二叉树查找值为x的节点

目录 1.题目 代码模板 2.分析 分类讨论各种情况 大概的框架 关键部分(继续递归)的详解 递归调用展开图 3.测试结果 其他写法 4.结论 5.注意事项 不推荐的写法 1.题目 查找值为x的节点并返回节点的地址 代码模板 typedef int BTDataType; typedef struct BinaryT…...

Ant-Design-Vue 全屏下拉日期框无法显示,能显示后小屏又位置错乱

问题1&#xff1a;在全屏后 日期选择器的下拉框无法显示。 解决&#xff1a;在Ant-Design-Vue的文档中&#xff0c;很多含下拉框的组件都有一个属性 getPopupContainer可以用来指定弹出层的挂载节点。 在该组件上加上 getPopupContainer 属性,给挂载到最外层盒子上。 <temp…...

sec啥意思

sec的基本含义是秒&#xff0c;是时间的基本单位之一&#xff1b;在数学中表示正割函数&#xff1b;在计算机科学中有时指安全&#xff1b;在法语中意为干的等。 sec的多重含义与应用 sec在数学中的定义 在数学领域&#xff0c;尤其是三角学中&#xff0c;sec代表正割函数&a…...

云计算vspere 安装过程

1 材料的准备 1 安装虚拟机 vmware workstation 2 安装esxi 主机 3 在esxi 主机上安装windows 2018 dns 服务器 4 在虚拟机上安装windows 2018 服务器 6 安装vcenter 5 登入界面测试 这里讲一下&#xff0c;由于部署vspere 需要在windows 2012 服务器上部…...

spring-boot打包前重新拉取maven依赖

在使用 Maven 构建 Spring Boot 项目时&#xff0c;如果希望在每次打包时都强制拉取依赖&#xff0c;可以通过以下方法实现。 方法一&#xff1a;在命令行强制更新依赖 在执行 mvn package 或 mvn install 等命令时&#xff0c;添加 -U 参数&#xff1a; mvn clean package -…...

华为云域名网站,域名切换到Cloudflare CDN出现访问报错:DNS 重定向次过多

网站域名切换到Cloudflare出现访问报错&#xff1a;重定向次过多&#xff0c;应该如何处理&#xff1f; 最近我自己已经遇到很多次这个情况了&#xff0c;将网站域名DNS切换到Cloudflare之后&#xff0c;网站会打不开&#xff0c;出现重定向次数过多报错。 网站域名切换到Clo…...

浔川AI翻译v5.1.0版本正式亮相!

浔川 AI 翻译 v5.1.0 版本正式亮相&#xff01; 在科技浪潮汹涌澎湃的今天&#xff0c;浔川 AI 翻译以其卓越的技术实力和对用户需求的精准把握&#xff0c;自豪地向全球用户宣布&#xff1a;浔川 AI 翻译 v5.1.0 版本正式闪耀登场&#xff01;这一全新版本在继承以往优势的基础…...

Merkle 树 应用在 代码工程

将 Merkle 树 应用在 代码工程 中&#xff0c;尤其是在大型项目中&#xff0c;可以帮助管理和验证代码的完整性、追踪代码变更、提高版本控制的效率等。通过将代码文件、类、函数等结构映射到 Merkle 树中&#xff0c;我们可以高效地验证代码库的任何变更&#xff0c;确保每个部…...

如何将表中存储的 JSON 数据转换为新表

如何将表中存储的 JSON 数据转换为新表 引言 本文介绍如何使用 PostgreSQL 的 JSON 函数&#xff0c;将 log_table 表中的 param_json 字段&#xff08;存储为 JSON 数组&#xff09;转换为一张新的表&#xff0c;并提取出具体的字段值。 表结构说明 假设 log_table 表的结…...

鸿蒙开发——使用ArkTs处理XML文本

1、概 述 XML&#xff08;可扩展标记语言&#xff09;是一种用于描述数据的标记语言&#xff0c;旨在提供一种通用的方式来传输和存储数据&#xff0c;特别是Web应用程序中经常使用的数据。XML并不预定义标记。因此&#xff0c;XML更加灵活&#xff0c;并且可以适用于广泛的应…...

借助vector实现进制转换详解

进制转换&#xff0c;没什么可说的&#xff0c;大一级别的水平&#xff0c;不过在某些考研题目中可能会涉及到顺序栈的实现&#xff0c;本贴不使用顺序栈&#xff0c;用STL里面的vector模拟一下&#xff1a;关键在于想清楚【除留取余】的逻辑&#xff0c;至于用什么结构存放中间…...

混合云策略在安全领域受到青睐

Genetec 发布了《2025 年物理安全状况报告》&#xff0c;该报告根据超过 5,600 名该领域领导者&#xff08;其中包括 100 多名来自澳大利亚和新西兰的领导者&#xff09;的回应&#xff0c;揭示了物理安全运营的趋势。 报告发现&#xff0c;澳大利亚和新西兰的组织采用混合云策…...

Jackson - 序列化和反序列化Java集合对象

在本文中&#xff0c;我将向您展示如何使用Jackson API来序列化和反序列化Java集合对象&#xff0c;如List、Set和Map。 我们将通过具体的示例演示如何利用ObjectMapper类的方法进行这些操作。 主要内容 添加Maven依赖项使用Jackson API进行List序列化使用Jackson API进行Se…...

No.26 笔记 | 信息收集与工具实践指南

渗透测试的第一步&#xff1a;信息收集背后的“侦察艺术” 在网络安全的世界里&#xff0c;信息就是武器。 无论是追踪隐藏的漏洞&#xff0c;还是找到不被注意的入口&#xff0c;信息收集就像一场现代化的“谍战片”。而作为渗透测试的开场白&#xff0c;信息收集不仅考验技…...

使用倒排索引法解决分库分表后查询问题

数据进行了分库分表后&#xff0c;要查询某一条数据的信息&#xff0c;事先是不清楚该条数据在哪台服务器上的&#xff0c;这时候可以使用倒排索引法&#xff0c;将数据的关键信息存储到Redis中&#xff0c;然后从Redis中获取到数据所在的服务器信息和数据ID。 Redis倒排索引示…...

Linux操作系统--文件的重定向以及文件缓冲区

目录 前言 一、文件描述符的分配规则 二、重定向 三、系统中的重定向接口 1、dup2()介绍 2、dup2()使用 1&#xff09;输出重定向和追加重定向 2&#xff09;输入重定向 四、文件缓冲区 1、定义 2、缓冲区刷新的条件 1&#xff09;文件缓冲区存在的意义 2&…...

Linux 远程连接服务

远程连接服务器简介 什么是远程连接服务器 远程连接服务器通过文字或图形接口方式来远程登录系统&#xff0c;让你在远程终端前登录linux主机以取得可操 作主机接口&#xff08;shell&#xff09;&#xff0c;而登录后的操作感觉就像是坐在系统前面一样。 远程连接服务器的功…...

Chrome控制台 网站性能优化指标一览

打开chrome-》f12/右键查看元素-》NetWrok/网络 ctrlF5 刷新网页&#xff0c;可以看到从输入url到页面资源请求并加载网页&#xff0c;用于查看资源加载&#xff0c;接口请求&#xff0c;评估网页、网站性能等&#xff0c;如下图&#xff1a; request、stransferred、resour…...

【SpringBoot】使用IDEA创建SpringBoot项目

1、使用SpringBoot脚手架创建 我们使用SpringBoot的脚手架Spring Initializr创建&#xff0c;如图所示&#xff1a; 2、选择SpringBoot版本 最开始做项目时候&#xff0c;组长说创建一个 springboot 2.5.4 的项目&#xff0c;mysql使用 5.6.X &#xff0c;maven使用是3.6.X…...

Mysql锁

锁的分类 基于锁的属性分类&#xff1a;共享锁、排它锁。基于锁的粒度分类&#xff1a;表锁、行锁、记录锁、间隙锁、临键锁。基于锁的状态分类&#xff1a;意向共享锁、意向排它锁。 排他锁与任何的锁都不兼容&#xff0c;共享锁仅和共享锁兼容。由于MVCC的存在&#xff0c;…...

深入浅出:PHP中的数据类型全解析

文章目录 引言理解数据类型标量类型整数 (integer)浮点数 (float)布尔值 (boolean)字符串 (string) 复合类型数组 (array)对象 (object)资源 (resource)NULL 特殊类型Callable强制类型转换 实战案例总结与展望参考资料 引言 在编程的世界里&#xff0c;数据类型是构建任何应用…...

030.随机指纹chromium编译-修改windows操作系统版本

一、目标&#xff1a; 1.了解js是如何获取windows版本的。2.如何从c层面修改chromium源码&#xff0c;修改win系统版本 二、js是如何获取windows系统版本&#xff1a; 将下面的js复制到F12控制台 async function detectWindowsVersion() {let userAgent navigator.userAge…...

IP 协议

IP协议 一、介绍1、IP协议2、IPv43、IPv6 二、主要功能三、协议格式1、示意图2、说明 四、网段划分1、介绍2、目的3、方法4、步骤 五、基于类别的IP地址分配方式1、示意图2、范围 六、CIDR1、介绍2、组成3、优点4、示意图 七、子网掩码1、介绍2、功能3、表示方法4、CIDR表示法5…...

【Docker】创建Docker并部署Web站点

要在服务器上创建Docker容器&#xff0c;并在其中部署站点&#xff0c;你可以按照以下步骤操作。我们将以Flask应用为例来说明如何完成这一过程。 1. 准备工作 确保你的服务器已经安装了Docker。如果没有&#xff0c;请根据官方文档安装&#xff1a; Docker 安装指南 2. 创…...

【C语言的奥秘9】数据类型总结

一、数据类型的介绍 数据类型是按被定义变量的性质&#xff0c;表示形式&#xff0c;占据存储空间的多少&#xff0c;构造特点来划分的。在C语言中&#xff0c;数据类型可分为:基本数据类型&#xff0c;构造数据类型&#xff0c;指针类型&#xff0c;空类型四大类。 基本数据类…...

EasyExcel注解使用

上接《Springboot下导入导出excel》&#xff0c;本篇详细介绍 EasyExcel 注解使用。 1. ExcelProperty value&#xff1a;指定写入的列头&#xff0c;如果不指定则使用成员变量的名字作为列头&#xff1b;如果要设置复杂的头&#xff0c;可以为value指定多个值order&#xff…...

什么是多模态和模态

文章目录 前言一、定义1. 模态 (Modal)2. 非模态 (Non-modal) 二、GUI中1. 模态&#xff08;Modal&#xff09;对话框2. 非模态&#xff08;Modeless&#xff09;对话框 三、模态 vs 非模态 的对比四、何时使用模态和非模态对话框&#xff1f;五、Qt 中 exec() 与 show() 的区别…...

【系统架构设计师】真题论文: 论NoSQL数据库技术及其应用(包括解题思路和素材)

更多内容请见: 备考系统架构设计师-专栏介绍和目录 文章目录 真题题目(2018年 试题4)解题思路论文素材参考真题题目(2018年 试题4) 随着互联网 web2.0 网站的兴起,传统关系数据库在应对 web2.0 网站,特别是超大规模和高并发的 web2.0 纯动态 SNS 网站上已经显得力不从心…...

TCP/IP 协议图--计算机网络体系结构分层

计算机网络体系结构分层 计算机网络体系结构分层 不难看出&#xff0c;TCP/IP 与 OSI 在分层模块上稍有区别。OSI 参考模型注重“通信协议必要的功能是什么”&#xff0c;而 TCP/IP 则更强调“在计算机上实现协议应该开发哪种程序”...

【Android】Intent类详解

目录 引言 一、Intent的定义 二、Intent的用途 三、Intent的七大属性 四、Intent的种类 4.1 显式Intent 4.2 隐式Intent 五、代码示例 5.1 activity_intent.xml 5.2 IntentActivity.java 5.3 AndroidManifest.xml 5.4 实现效果 结语 引言 Intent在Android开发…...

【LeetCode刷题之路】64.最小路径和 (动态规划入门)

LeetCode刷题记录 &#x1f310; 我的博客主页&#xff1a;iiiiiankor&#x1f3af; 如果你觉得我的内容对你有帮助&#xff0c;不妨点个赞&#x1f44d;、留个评论✍&#xff0c;或者收藏⭐&#xff0c;让我们一起进步&#xff01;&#x1f4dd; 专栏系列&#xff1a;LeetCode…...

Facebook:筑牢隐私安全堡垒,守护社交净土

在全球社交媒体平台中&#xff0c;Facebook一直是风靡全球的佼佼者。然而&#xff0c;随着数字化信息的迅速膨胀&#xff0c;用户隐私保护的重要性日益凸显。面对用户对数据安全性的高度重视&#xff0c;Facebook致力于通过一系列措施来确保隐私保护&#xff0c;守护每位用户的…...

MongoDB 索引类型详解

MongoDB 索引类型详解 在 MongoDB 中&#xff0c;索引是提高查询效率、优化数据库性能的重要手段。MongoDB 支持多种类型的索引&#xff0c;每种索引类型适用于不同的查询需求和场景。本文将详细介绍 MongoDB 中几种常见的索引类型、示例及其限制。 1. 单字段索引&#xff08…...

国家信息中心单志广:智慧城市转型中的数据要素价值释放

今日&#xff0c;由中国电信集团主办的2024数字科技生态大会数据要素合作论坛在广州市举办。国家发改委国家信息中心信息化和产业发展部主任单志广在论坛发展主旨演讲&#xff1a;智慧城市转型中的数据要素价值释放&#xff0c;主要包括发展新形势、数据新要素、数据新产权、数…...

底层逻辑之:欧拉-拉格朗日方程(Euler-Lagrange equations)变分法(Calculus of Variations)的核心思想

0前言&#xff1a; 0.1 17世纪的泛函&#xff08;Functional&#xff09;分析与变分法&#xff08;Calculus of Variations&#xff09; 在17世纪&#xff0c;数学家们开始遇到一些需要处理函数集合的问题&#xff0c;这些问题涉及到函数的极值、曲线的长度、曲面的面积等。这…...

2024-12-03OpenCV图片处理基础

OpenCV图片处理基础 OpenCV的视频教学&#xff1a;https://www.bilibili.com/video/BV14P411D7MH 1-OpenCV摄像头读取 OpenCV使用摄像头读取图片帧&#xff0c;点击S保存当前帧到指定文件夹&#xff0c;点击Q关闭窗口&#xff0c;点击其他按钮打印按钮的值 要实现这个功能&…...

【汇编语言】标志寄存器(二) —— 标志位驱动的计算:ADC、SBB 和 CMP 的巧妙应用

前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程的角度出发就太片面了&#xff0c;其实学习汇编语言可以深入理解计算机底层工作原理&#xff0c;提升代码效率&#xff0c;尤其在嵌入式系统和性能优…...