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

【C语言预编译处理精选题】

C语言预编译处理精选题

  • 一、选择易错题
    • 1.1 纯文本替换,注意优先级!
    • 1.2 再来一道文本替换,别马虎
    • 1.3 宏定义的替换
    • 1.4带参数宏定义的空格问题
    • 1.5 " "的include
    • 1.6 条件编译
    • 1.7 预编译概念
  • 二、填空易错题
    • 2.1 注意两个连续的 i++
    • 2.2 异或运算

在这里插入图片描述

一、选择易错题

1.1 纯文本替换,注意优先级!

在这里插入图片描述

程序中宏定义 #define ADD(x) x+x 无括号,sum=ADD(m+n)k 宏展开后为 m+n+m+nk。代入 m=1,n=2,k=3,计算顺序:先算乘法 2*3=6,再依次相加 1+2+1+6=10。因此运行结果为 sum=10
对应选项 B。

宏定义的替换本质:宏定义是预处理阶段的简单文本替换,不涉及运算逻辑判断。如 #define ADD(x) x+x,仅将 ADD(参数) 直接替换为 参数+参数,无任何括号保护。
运算优先级陷阱:宏展开后,若表达式无括号,会因运算符优先级导致结果偏差。例如此处 ADD(m+n)k 展开为 m+n+m+nk,因 * 优先级高于 +,先计算 n*k,改变预期运算顺序。
宏定义的规范写法:为避免优先级错误,宏定义的参数和表达式需加括号。如修正为 #define ADD(x) ((x)+(x)),展开后为 ((m+n)+(m+n))*k,运算逻辑才符合预期。

1.2 再来一道文本替换,别马虎

以下程序的运行结果是______。
#define MIN(x,y) (x) < (y) ? (x) : (y)
main()
{ int i=10,j=15,k;
k=10 * MIN(i,j);
printf(“%d\n”,k);
}
选项:
A) 10 B) 15 C) 100 D) 150

注意是纯文本替换,k=10 * MIN(i,j)→k=10 *(i) < (j) ? (i) : (j),100<15不成立。
做这种题容易马虎,最好把替换的文本抄写替换一下,免得因为优先级出错!
答案B

1.3 宏定义的替换

在这里插入图片描述

宏定义不进行类型检查,只是简单的文本替换,这里是将宏名定义为字符串3.14159.
答案D

1.4带参数宏定义的空格问题

在这里插入图片描述
在这里插入图片描述

A:#define array_size 100 定义常量,用于数组定义 int array1[array_size];,合法。
B:#define PI 3.14159 和 #define S® PI*®® 格式正确,调用 S(3.2) 无语法问题。
C:宏定义格式正确,调用 S(a+b) 符合宏使用规则。
D:#define S ( r) PI
( r)*( r) 中,宏名 S 与参数 ( r) 间有空格,这是错误的。带参数的宏定义要求宏名与左括号紧密相连,正确形式应为 #define S( r)。
选D。

1.5 " "的include

在这里插入图片描述

在 C 语言中,#include 用双引号 “” 包含文件名时,搜索方式为先在源程序所在目录搜索,若未找到,再按系统设定的标准方式(如默认库目录)搜索。
A:直接按系统标准搜索,这是 #include <文件名> 的行为,错误。
B:先搜索源程序所在目录,再按系统标准搜索,符合双引号的规则,正确。
C:“仅仅搜索源程序所在目录” 错误,未找到时还会继续按系统标准搜索。
D:“仅仅搜索当前目录” 表述不准确,应为 “源程序所在目录”,且未涵盖后续搜索流程,错误。
综上,正确答案为 B。

在这里插入图片描述

这个的话就选C

1.6 条件编译

在这里插入图片描述

程序中 #define LETTER 0,因此 #if LETTER 不成立,执行 #else 分支:将大写字母转换为小写字母。遍历字符串 “C Language” 时,‘C’(大写)转为 ‘c’,‘L’ 转为 ‘l’,其他字符(如空格、小写字母)不变。最终输出 c language。
选项 B。

宏定义与条件编译
#define 用于定义宏常量(如 #define LETTER 0),结合 #if #else #endif 实现条件编译,根据宏的值选择执行不同代码分支。
#endif 仅作为条件编译块结束的语法标识,无实际运行动作。
还有两个,但适用场景不同:#if 基于表达式逻辑判断,#ifdef/#ifndef 则基于宏的定义状态判断。

1.7 预编译概念

在这里插入图片描述

A:C 语言预处理包括宏替换、文件包含、条件编译等,并非仅宏替换和文件包含,错误。
B:预处理指令可出现在源程序合适位置,不局限于首部,错误。
C:C 源程序中以 # 开头的控制行(如 #define #include #if 等)均为预处理指令,正确。
D:编译预处理处理宏替换、文件包含等,语法检查是编译阶段的任务,错误。
综上,正确答案为 C。

二、填空易错题

2.1 注意两个连续的 i++

在这里插入图片描述
在这里插入图片描述

程序中宏 POWER(i++) 展开为 ((i++) * (i++)),由于 i++ 先取值后自增,且表达式中多个 i++ 的计算顺序由编译器决定(此处按常见执行逻辑分析):
第一次循环:i=1,计算 1 * 1 = 1,随后 i 两次自增变为 3,输出 1。
检查 i=3 ≤ 4,继续循环。第二次循环:i=3,计算 3 * 3 = 9,i 两次自增变为 5,输出 9。此时 i=5 > 4,循环结束。
最终运行结果为 1 9。

2.2 异或运算

在这里插入图片描述

程序中 b = 01 是八进制数,转换为十进制为 1。宏 sw(x,y) 通过异或实现交换:
a ^= b:a = 10 ^ 1 = 11;
b ^= a:b = 1 ^ 11 = 10;
a ^= b:a = 11 ^ 10 = 1。
最终 a = 1,b = 10,输出 1,10。
运行结果为:1,10

相关文章:

【C语言预编译处理精选题】

C语言预编译处理精选题 一、选择易错题1.1 纯文本替换&#xff0c;注意优先级&#xff01;1.2 再来一道文本替换&#xff0c;别马虎1.3 宏定义的替换1.4带参数宏定义的空格问题1.5 " "的include1.6 条件编译1.7 预编译概念 二、填空易错题2.1 注意两个连续的 i2.2 异…...

云钥科技工业相机定制服务,助力企业实现智能智造

在工业自动化、智能制造和机器视觉快速发展的今天&#xff0c;工业相机作为核心感知设备&#xff0c;其性能直接决定了检测精度、生产效率和产品质量。然而&#xff0c;标准化工业相机往往难以满足复杂多样的应用场景需求&#xff0c;‌工业相机定制‌逐渐成为企业突破技术瓶颈…...

用了Cline和华为云的大模型,再也回不去了

这两年AI火热&#xff0c;受影响最大的还是程序员群体&#xff0c;因为编程语言是高度形式化的&#xff0c;完全可以用BNF等形式精确地定义&#xff0c;不像自然语言那样&#xff0c;容易出现歧义。另外开源是软件界的潮流&#xff0c;GitHub上有海量的开源代码可供AI来训练&am…...

vs2017版本与arcgis10.1的ArcObject SDK for .NET兼容配置终结解决方案

因电脑用的arcgis10.1,之前安装的vs2010正常能使用AO和AE&#xff0c;安装vs2017后无法使用了&#xff0c;在重新按照新版本arcgis engine或者arcObject费时费力&#xff0c;还需要重新查找资源。 用vs2017与arc10.1的集成主要两个问题&#xff0c;1&#xff1a;安装后vs中没有…...

Java对接微信支付全过程详解

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家&#xff0c;历代文学网&#xff08;PC端可以访问&#xff1a;https://literature.sinhy.com/#/?__c1000&#xff0c;移动端可微信小程序搜索“历代文学”&#xff09;总架构师&#xff0c;15年工作经验&#xff0c;精通Java编…...

微软 System Center Configuration Manager(SCCM)的组件文件

微软 System Center Configuration Manager(SCCM) 或 Microsoft Endpoint Configuration Manager(MECM) 的组件文件,属于企业级设备管理工具的一部分。以下是具体说明: C:\Windows\CCM\smsswd.exe C:\Windows\CCM\tsmanager.exe smsswd.exe 和 tsmanager.exe 是 Micros…...

C语言和C++到底有什么关系?

C 读作“C 加加”&#xff0c;是“C Plus Plus”的简称。 顾名思义&#xff0c;C 就是在 C 语言的基础上增加了新特性&#xff0c;玩出了新花样&#xff0c;所以才说“Plus”&#xff0c;就像 Win11 和 Win10、iPhone 15 和 iPhone 15 Pro 的关系。 C 语言是 1972 年由美国贝…...

10.PE导出表

一:定位导出表 PIMAGE_NT_HEADERS->OptionalHeader->DataDirectory[0] typedef struct _IMAGE_DATA_DIRECTORY {DWORD VirtualAddress; // 导出表的RVADWORD Size; // 导出表大小(没用) } IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; 该结构的Vi…...

springBoot中不添加依赖 , 手动生成一个token ,并校验token,在统一拦截器中进行校验 (使用简单 , 但是安全性会低一点)

要在 Spring Boot 里实现接口统一拦截并校验 Token&#xff0c;可以借助 Spring 的拦截器机制。下面是具体的实现步骤和代码示例。 1. 创建 Token 工具类 import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgori…...

VSCode C/C++ 环境搭建指南

一、前言 Visual Studio Code&#xff08;简称 VSCode&#xff09;是一款轻量级且功能强大的跨平台代码编辑器&#xff0c;凭借丰富的插件生态和高度的可定制性&#xff0c;深受开发者喜爱。对于 C/C 开发者而言&#xff0c;在 VSCode 中搭建开发环境&#xff0c;能够获得灵活…...

ES6(4) Map 集合详解

1. Map 集合简介 Map 是 ES6 提供的一种新的键值对数据结构&#xff0c;与普通对象&#xff08;Object&#xff09;不同&#xff0c;Map 的键可以是任意类型&#xff08;包括对象、函数等&#xff09;。 2. 创建 Map 集合 可以使用 new Map() 创建一个 Map&#xff0c;并在括…...

DeepSeek私有化部署与安装浏览器插件内网穿透远程访问实战

文章目录 前言1. 本地部署OllamaDeepSeek2. Page Assist浏览器插件安装与配置3. 简单使用演示4. 远程调用大模型5. 安装内网穿透6. 配置固定公网地址 前言 最近&#xff0c;国产AI大模型Deepseek成了网红爆款&#xff0c;大家纷纷想体验它的魅力。但随着热度的攀升&#xff0c…...

【设计模式】建造者模式

三、建造者模式 3.3 建造者模式 建造者(Builder) 模式也称构建器模式、构建者模式或生成器模式&#xff0c;同工厂模式或原型 模式一样&#xff0c;也是一种创建型模式。建造者模式比较复杂&#xff0c;不太常用&#xff0c;但这并不表示不需要了 解和掌握该模式。建造者模式…...

一场由 ES 分片 routing 引发的问题

一场由 ES 分片 routing 引发的问题 ES 结构 {"poroperties": {"joinType": {"type": "join","eager_global_ordinals": true,"relations": {"spu": "sku"}},"id":{"type&q…...

搭建Python量化开发环境:从零开始的完整指南

搭建Python量化开发环境&#xff1a;从零开始的完整指南 在量化投资领域&#xff0c;一个稳定且高效的开发环境是成功的关键。本文将引导你一步步搭建起自己的Python量化开发环境&#xff0c;确保你能够顺利开始编写和运行量化策略。 &#x1f680;量化软件开通 &#x1f68…...

JavaScript日期区间计算:精准解析年月日差异

一、应用场景与功能概述 在日常的制作项目或者是练习&#xff0c;我们经常需要计算两个日期之间的精确时间差。本文将通过一个JavaScript日期计算函数&#xff0c;详细解析如何实现精准的年/月/日差异计算&#xff0c;并探讨实际开发中的常见问题和解决方案。 二、核心功能解…...

大数据学习(71)-三范式构成

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…...

el-table 插槽踩过的坑 :slot-scope 和#default的区别

slot-scope和#default是Vue中用于定义插槽的两种不同语法&#xff0c;它们在Vue 2和Vue 3中有不同的应用场景和语法规则。‌ slot-scope 在‌Vue 2.x‌中&#xff0c;slot-scope是用于声明具名插槽并获取父组件传递过来的数据的主要方式。通过slot-scope可以定义一个变量scop…...

Linux一键安装node.js【脚本】

node.js一般不用系统的apt安装&#xff0c;而是用nvm这个前端的应用商店安装 node.js是js环境&#xff0c;nvm是安装nodejs管理器。npm是nodejs里的包管理器&#xff0c;安装模块的&#xff0c;类似于python的pip 把以下代码复制保存在一个文件里 比如nano install_nodejs.sh …...

vue3:pinia安装及其使用

​一、安装 Pinia 的步骤 ​1、安装 Pinia npm install pinia 2、​在 Vue 应用中引入 Pinia 在 main.js 中引入并注册 Pinia&#xff1a; import { createApp } from vue; import { createPinia } from pinia; import App from ./App.vue;const app createApp(App); app…...

vue2升级Vue3--native、对inheritAttrs作用做以解释、声明的prop属性和未声明prop的属性

native取消 在 Vue 3 中&#xff0c;v-on 的 .native 修饰符已经被移除。在 Vue 2 中&#xff0c;.native 修饰符用于在组件的根元素上监听原生 DOM 事件&#xff0c;但在 Vue 3 中&#xff0c;这一行为发生了变化。 在 Vue 3 中&#xff0c;所有未在子组件的 emits 选项中定…...

【漫话机器学习系列】146.Softmax 激活函数(Softmax Activation Function)

Softmax 激活函数详解 1. Softmax 函数概述 Softmax 函数&#xff08;Softmax Activation Function&#xff09;是一种常用于多分类任务的激活函数&#xff0c;广泛应用于机器学习和深度学习模型&#xff0c;特别是在神经网络的输出层。它的主要作用是将输入的多个实数值转换…...

解决:ModuleNotFoundError: No module named ‘_sqlite3‘

报错&#xff1a; from _sqlite3 import * ModuleNotFoundError: No module named _sqlite3安装sqlite3支持组件: sudo apt-get install libsqlite3-dev进入之前下载的python包下&#xff0c;重新编译和安装Python ./configure --enable-loadable-sqlite-extensions make &a…...

C++差分风暴:区间修改终极模板

目录 &#x1f525; 差分核心价值 &#x1f31f; 一维差分模板 1. 核心思想 2. 代码实现 3. 动态图示 &#x1f4e6; 二维差分模板 1. 核心公式 2. 代码实现 3. 二维修改示意图 &#x1f6a8; 六大避坑指南 &#x1f4a1; 复杂度对比 &#x1f308; LeetCode实战 &…...

easypoi导入Excel兼容日期和字符串格式的日期和时间

问题场景 在使用easypoi导入Excel时&#xff0c;涉及到的常用日期会有yyyy-MM-dd HH:mm:ss、yyyy-MM-dd和HH:mm:ss&#xff0c;但是Excel上面的格式可不止这些&#xff0c;用户总会输入一些其他格式&#xff0c;如 如果在定义verify时用下面这种格式定义&#xff0c;那么总会…...

《保险科技》

自己在保险行业工作很多年&#xff0c;只是接触了一些数据的内容&#xff0c;对于保险业务的知识了解的很少&#xff0c;想通过这本书补充一下&#xff0c;但是发现这本书就是一些知识的拼接。 先将保险的历史&#xff0c;后讲保险的定义&#xff0c;然后就是吹嘘保险行业和互联…...

QT编程之HTTP服务端与客户端技术

一、HTTP 服务器实现方案 ‌QtWebApp 集成‌ 将QtWebApp源码的 httpserver 目录导入项目&#xff0c;并在 .pro 文件中添加 include ($$PWD/httpserver/httpserver.pri)‌。配置 WebApp.ini 文件定义服务参数&#xff08;IP、端口、线程池等&#xff09;&#xff0c;通过 HttpL…...

每日一题--计算机网络

一、基础概念类问题 1. TCP 和 UDP 的区别是什么&#xff1f; 回答示例&#xff1a; TCP&#xff1a;面向连接、可靠传输&#xff08;通过三次握手建立连接&#xff0c;丢包重传&#xff09;、保证数据顺序&#xff08;如文件传输、网页访问&#xff09;。 UDP&#xff1a;无…...

IIS 服务器日志和性能监控

Internet Information Services &#xff08;IIS&#xff09; 是 Microsoft 提供的一款功能强大、灵活且可扩展的 Web 服务器&#xff0c;用于托管网站、服务和应用程序。IIS 支持 HTTP、HTTPS、FTP、SMTP 和更多用于提供网页的协议&#xff0c;因此广泛用于企业环境。 IIS 的…...

Unity学习之Shader总结(一)

一、Lesson1 1、渲染流水线 &#xff08;1&#xff09;应用阶段 模型->模型处理&#xff08;应用阶段&#xff09;–>输入结构 应用阶段主要操作&#xff1a;粗粒度剔除、进行渲染设置、准备基本数据、输出到几何阶段 &#xff08;2&#xff09;几何阶段 输入结构-&…...

java,poi,提取ppt文件中的文字内容

注意&#xff0c;不涉及图片处理。 先上pom依赖&#xff1a; <!-- 处理PPTX文件 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency><!--…...

matlab R2024b下载教程及安装教程(附安装包)

文章目录 前言一、matlab R2024b 安装包下载二、matlab R2024b安装教程 前言 为帮助大家顺利安装该版本软件&#xff0c;特准备matlab R2024b下载教程及安装教程&#xff0c;它将以简洁明了的步骤&#xff0c;指导你轻松完成安装&#xff0c;开启 MATLAB R2024 的强大功能之旅…...

设计模式之外观模式:原理、实现与应用

引言 外观模式&#xff08;Facade Pattern&#xff09;是一种结构型设计模式&#xff0c;它通过提供一个统一的接口来简化复杂系统的使用。外观模式隐藏了系统的复杂性&#xff0c;使得客户端可以通过一个简单的接口与系统交互。本文将深入探讨外观模式的原理、实现方式以及实…...

移远QuecPython模组中的看门狗技术:如何提升设备可靠性

概述 对蜂窝通信模组而言&#xff0c;看门狗&#xff08;Watchdog&#xff09;是一种硬件或软件的监控机制&#xff0c;用于监测模组的运行状态。当模组因为外界干扰或程序错误陷入死循环时&#xff0c;看门狗会自动触发模组重启&#xff0c;从而恢复模组的运行状态。 对看门…...

汽车感性负载-智能高边钳位能量计算

随着汽车电子技术的发展&#xff0c;新的电子电气架构下&#xff0c;越来越多的执行部件在车身出现&#xff0c;比如电磁阀、风机、水泵、油泵、雨刮继电器等常用的执行器&#xff0c; 它们一般都表现为感性特点。驱动这些负载的最简单和最常见的方法是将它们连接到高边侧开关(…...

Kubernetes之ETCD

ETCD 是 Kubernetes 的核心组件之一&#xff0c;它是一个分布式键值对存储数据库&#xff0c;专为高可用性和一致性设计。它在 Kubernetes 中的主要作用是存储所有集群数据&#xff0c;包括配置数据和状态信息。ETCD 是 Kubernetes 的“大脑”&#xff0c;其稳定性对整个集群至…...

通过Geopandas进行地理空间数据可视化

目录 引言 安装与导入 数据加载与探索 数据预处理 基本地图可视化 添加其他数据到地图上 空间分析与查询 地图叠加与分组 空间缓冲区 交互式地图可视化 实际应用案例 城市规划 环境监测 结论 引言 在数据科学领域,地理空间数据可视化扮演着至关重要的角色。它不…...

堆(heap)

堆&#xff1f;对于初学者来说&#xff0c;或许是一个陌生十足的概念。 但&#xff01;堆不可怕。 什么是堆&#xff1f; 学术上&#xff0c;常常是这样说的&#xff08;一个完全二叉树&#xff09;。 没毛病&#xff0c;要想更好的理解堆(heap)&#xff0c;确实需要好好掌…...

Leetcode-回溯-组合型

22. 括号生成 - 力扣&#xff08;LeetCode&#xff09; 这题并没有才有恢复现场的做法 而是直接覆盖 题目核心是看穿本质 在代码执行过程中左括号必须大于等于右括号 以及回溯最底层的递归条件是递归长度已经达到2n 还有做括号要小于n 又因为i左右 因此右等于i-左 ope…...

Modbus通信协议基础知识总结

1. 数据类型与存储区分类 Modbus协议将数据分为四类存储区&#xff0c;通过存储区代号区分&#xff1a; 输出线圈&#xff08;0x&#xff09;&#xff1a;可读写&#xff0c;对应二进制开关量&#xff08;如继电器状态&#xff09;&#xff0c;地址范围000001-065536&#xff…...

python pip 最最开始新手教程/pip安装jupyter

pip 安装 直接安排了python即安装了pip,一般找pip的是安装了python之后用不了的&#xff0c;出现问题的&#xff0c;我也是因为这个所以写了这篇文章。 一、找不到pip,在C盘的cmd 输入pip -- version显示没有的是因为pip不能直接使用&#xff0c;需要额外配置环境变量 在系统…...

MATLAB 控制系统设计与仿真 - 28

MATLAB状态空间控制系统分析 - 极点配置 就受控系统的控制律的设计而言,由状态反馈极点配置和输出反馈极点配置。 状态反馈极点配置问题就是:通过状态反馈矩阵K的选取,使闭环系统的极点,即(A-BK)的特征值恰好处于所希望的一组给定闭环极点的位置。 另外,线性定常系统可…...

[leetcode] 面试经典 150 题——篇3:滑动窗口

[leetcode] 面试经典 150 题——篇3&#xff1a;滑动窗口 方法概述基本原理适用场景示例说明 1. [中等] 长度最小的子数组(leetcode 209题)题目描述解题思路python代码 2. [中等] 无重复字符的最长子串(leetcode 5题)题目描述解题思路python代码 方法概述 滑动窗口是一种常用的…...

华为云虚拟化技术

‌华为云底层的虚拟化技术‌是一种将物理资源&#xff08;如服务器、存储设备和网络&#xff09;抽象成虚拟资源的技术。通过这种技术&#xff0c;用户可以将物理资源划分为多个虚拟资源&#xff0c;从而提高资源利用率和灵活性‌1。 华为云底层虚拟化的定义和作用 华为云底层…...

在Pycharm配置conda虚拟环境的Python解释器

〇、前言 今天在配置python解释器时遇到了这样的问题 经过一下午自行摸索、上网搜寻后&#xff0c;终于找到的解决的方案&#xff0c;遂将该方法简要的记录下来&#xff0c;以备后用&#xff0c;并希望能帮助到有同样问题或需求的朋友:) 我所使用的软件的版本如下&#xff0c;假…...

【AI】在AWS AI芯片服务上部署运行Qwen 2.5模型

推荐超级课程: 本地离线DeepSeek AI方案部署实战教程【完全版】Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战目录 准备选项 1:在 Amazon EC2 Inf2 上部署 TGI选项 2:在 SageMaker 上部署 TGI清理Qwen 2.5 多语言大型语言模型(LLMs) 是一系列预先…...

如何用日事清做研发目标、需求、规划、迭代、Bug、效能、复盘、绩效一站式管理

近年来&#xff0c;受监管环境趋严、盈利模式转型、市场竞争加剧等影响&#xff0c;互联网行业逐步进入深度变革与持续创新阶段。在此过程中&#xff0c;项目进度延期、需求频繁变更、开发流程混乱等痛点问题频发&#xff0c;导致部分互联网企业创新升级的步伐停滞不前。 企业…...

手搓智能音箱——语音识别及调用大模型回应

一、代码概述 此 Python 代码实现了一个语音交互系统&#xff0c;主要功能为监听唤醒词&#xff0c;在唤醒后接收用户语音问题&#xff0c;利用百度语音识别将语音转换为文本&#xff0c;再调用 DeepSeek API 获取智能回复&#xff0c;最后使用文本转语音功能将回复朗读出来。 …...

Docker安装mysql——Linux系统

拉取mysql镜像 docker pull mysql 查看镜像 docker images 运行镜像&#xff08;这一步的作用&#xff1a;数据持久化&#xff0c;通过挂载卷将日志、数据和配置文件存储在主机上&#xff0c;避免容器删除导致数据丢失&#xff09; docker run -p 3306:3306 --name mysql …...

Redis 面试思路

分布式redis面试思路俩点 高性能 高并发 高性能 1.存储在内存 所以速度快 2. 线程模型 io多路复用 监控多个客户端socket 放入队列里面 只是文件分发机制是单线程的 处理队列中的数据 根据不同类型 分发给不同处理器 后面处理的过程 也是多线程的 3. 内存回收机制 定期懒惰 …...