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

【编译原理】往年题汇总(山东大学软件学院用)

🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀编译原理_十二月的猫的博客-CSDN博客

💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 

目录

1. 前言

2. 22-23年 编译原理

2.1.编译原理的程序框图

2.2.有穷自动机?DFA和NFA的区别?

2.3.推导和归约的概念

2.4.SDD,简述S-SDD和L-SDD

2.5. 划分基本块的算法

2.6. 正规式→DFA LL(1) LR(0) SLR(1) LR(1) LALR(1)

2.7. 简述语法制导翻译的思想

2.8. 简述四个优化代码的算法

3. 21-22年 编译原理

3.1 判断一个文法是不是二义文法

3.2 给一个句型,找它的句柄

3.3 消除左递归(看一下后面的例子)

3.4 正规式转化为DFA

4. 20-21年 编译原理

4.1 综合属性继承属性概念

4.2 用语法制导翻译思想,把语句翻译成三地址码序列。while a < b do if c > d then x = y * z

5. 19-20年 编译原理

5.1 编译的前端,后端,什么是一遍扫描

5.2 在语法制导翻译中,空返产生式的作用(M->ε)

6. 总结


1. 前言

为什么打算开始这一系列的文章——编译原理🎄🎄

其实本学期开始就一直想持续更新,陆陆续续主要更新了实验部分。

正好趁着快要考试,便和大家一起花费几天的时间回顾编译原理的知识点。

目前,十二月猫的回顾计划如下🔞🔞:

祝大家都能取得好成绩呀~~🥰🥰 


参考书籍:

英文名:Compilers: Principles,Techniques,and Tools (龙书)🦖

作者:Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 

        1.本课程介绍编译器构造的一般原理和基本实现方法,主要介绍编译器的各个阶段:词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成

        2.本课程在介绍命令式程序设计语言实现技术的同时,强调一些相关的理论知识,如形式语言和自动机理论、语法制导的定义和属性文法、类型论等

        3.本课程强调形式化描述技术,并以语法制导定义作为翻译的主要描述工具

        4.本课程强调对编译原理和技术在宏观上的理解,而不把读者的注意力分散到一些枝节的算法上,如计算开始符号集合和后继符号集合的算法,回填技术等。作为原理性的教材,本书介绍基本的理论和方法,而不偏向于某种源语言或目标机器

2. 22-23年 编译原理

2.1.编译原理的程序框图

  • 词法分析器:输入源程序,进行词法分析,输出单词符号;(扫描字符流,滤掉空白符、换行符、制表符、注释等,分离出词素,输出词法单元序列
  • 语法分析器:根据文法构建分析表,对单词符号进行语法分析,检查程序是否符合语法规则;

  • 语义分析与中间代码生成器:按照文法翻译规则对语法分析器归约出的语法单位进行语义分析,并把它们翻译成一定形式的中间代码;

  • 优化器:对中间代码进行优化处理;

  • 目标代码生成器:把中间代码翻译成目标代码。

2.2.有穷自动机?DFA和NFA的区别?

        用于语法分析中转载在扫描仪中的程序算法,是语法分析的一种方式,与手工编写的语法分析不同。有穷自动机的语法分析更加通用,是自动生成语法分析器的一种方式。分为两类,非确定有限自动机和确定有限自动机。对于每个可以用正则表达式描述的语言,均可用某个NFA或DFA来识别。

  • NFA:对边上的标号没有限制,一个符号可以作为标号出现在离开同一个状态的多条边上,ϵ可以做标号
  • DFA:对于每个状态以及每个标号,有且只有一条边

2.3.推导和归约的概念

推导:将非终结符替换为它的某个产生式的体。分为直接推导、间接推导、最左推导、最右推导

  • 最左推导:任何一步α => β都是对α中的最左非终结符进行替换
  • 左右推导:任何一步α => β都是对α中的最右非终结符进行替换

归约:归约是推导的逆过程。分为直接、间接、最左、最右归约。

2.4.SDD,简述S-SDD和L-SDD

  • SDD:即语法制导定义,将每个产生式和一组语义规则相关联,这些规则用于计算该产生式中各文法符号的属性值。
  • S-SDD:每个属性都是综合属性,都是根据子构造的属性计算出父构造的属性。
  • L-SDD:每个属性是综合属性,或是继承属性,且A→X1 X2 … Xn 中计算Xi.a的规则只用到A的继承属性,或Xi左边的文法符号Xj的继承属性或综合属性,或Xi自身的继承或综合属性。

这个地方的记忆可以使用 树的深度优先遍历

2.5. 划分基本块的算法

  1. 找基本块的入口:一共有三类入口:①代码段的第一个指令;②条件跳转和无条件跳转的目标语句;③条件跳转语句的下一条语句
  2. 根据划分的入口画流图,一个基本块的区间:从入口开始,至到遇到下一个入口结束

2.6. 正规式→DFA LL(1) LR(0) SLR(1) LR(1) LALR(1)

见另外三篇文章:

【编译原理】编译原理知识点汇总·词法分析器(正则式到NFA、NFA到DFA、DFA最小化)-CSDN博客

【编译原理】一篇搞定LR分析法(LR(1)、LR(0)、SLR、LALR)-CSDN博客

【编译原理】编译原理知识点汇总·语法分析器(消除左递归、消除二义性、自顶向下语法分析、自下向上语法分析)-CSDN博客

2.7. 简述语法制导翻译的思想

        从概念上讲,基于属性文法的处理过程如下:对单词符号串进行语法分析,构造语法分析树,然后根据需要遍历语法树并在语法树的各节点处按照语义规则进行计算。这种有源程序的语法结构驱动的处理办法就是语法制导翻译法。

2.8. 简述四个优化代码的算法

(1)删除公共子表达式

如果表达式 x op y 先前已被计算过,并且从先前的计算到现在,x op y 中变量的值没有改变,称为公共子表达式。可以将其删除。

(2)删除无用代码

无用代码,其计算结果永远不会被使用的语句。例如重复对多个变量赋相同的值。

(3)常量合并

如果在编译时刻推导出一个表达式的值是常量,就可以使用该常量来替代这个表达式。替换后,节省一次内存访问。

(4)代码移动

对于那些不管循环执行多少次都得到相同结果的表达式,在进入循环之前就对它们求值。

(5)强度削弱

用较快的操作代替较慢的操作。

3. 21-22年 编译原理

3.1 判断一个文法是不是二义文法

给定一个文法G,如果这个文法G的一些句子中存在不止一棵分析树,或者这些句子存在不止一种最左(最右推导), 我们就称该文法为二义性的,G也叫二义性文法。

注意:文法二义并不代表语言一定是二义的,只有当产生一个语言的所有文法都是二义时,这个语言才成为二义的。

3.2 给一个句型,找它的句柄

句柄,也是归约项,是指在进行归约操作时,被替换的右侧产生式的符号串。

【编译原理】一篇搞定短语、直接短语、句柄-CSDN博客

3.3 消除左递归(看一下后面的例子)

具体方法有:消除直接左递归、消除间接左递归

【编译原理】一篇搞定语法分析器对文法的要求(上下文无法文法、消除二义性文法、消除左递归)-CSDN博客

3.4 正规式转化为DFA

【编译原理】一篇搞定正规式到NFA、NFA到DFA、DFA最小化_正规式转化为nfa-CSDN博客

4. 20-21年 编译原理

4.1 综合属性继承属性概念

  • 综合属性:假设分析树结点N对应非终结符A,只能通过N的子结点或N本身的属性值来定义的属性称为A的综合属性。终结符综合属性由语法分析器提供。
  • 继承属性:假设解析树结点N对应非终结符A,只能通过N的父结点的继承属性、N的兄弟结点或N本身的继承属性和综合属性来定义的属性称为A的继承属性。终结符没有继承属性。

4.2 用语法制导翻译思想,把语句翻译成三地址码序列。while a < b do if c > d then x = y * z

5. 19-20年 编译原理

5.1 编译的前端,后端,什么是一遍扫描

前端:前端对源语言进行分析,并产生中间表示,处理与源语言相关的细节,与目标机器无关。

后端:后端对中间表示进行分析、优化,并产生新的中间表示;处理与目标机器相关的细节,生成目标机器代码。

记忆:输入输出+处理内容(和什么无关和什么有关)

一遍扫描:对源程序扫描一次被称为一遍扫描

5.2 在语法制导翻译中,空返产生式的作用(M->ε)

        在语法制导翻译中,空返产生式(Epsilon production)的作用是允许语法分析树在不生成任何输出的情况下,从一个非终结符移动到另一个非终结符。这对于模拟语法的省略部分(如可选的子句)很有用。因此,空返产生式允许更灵活的语法分析,并且可以使语法分析过程更加简化。

6. 17-18年 编译原理

6.1 描述LR语法分析算法

        LR语法分析法是编译原理中的一种语法分析方法,其全称为“自左至右扫描和自底向上规约”,是一种自底向上的分析方法。这种方法对文法的限制最少,适用于大部分的上下文无关文法。LR分析法的基本思想是在归约的过程中,一方面记住移入和归约的整个符号串,另一方面通过产生式推测未来可能的输入符号。

6.2 举例说明文法二义性

记住常见的例子:

S - >S and S | S or S | not S | p | q | (S)

句子:not p and q

 关键点:

  1. 存在and和or还有not
  2. 这几个的优先级和结合性都没有确定

6.3 符号表作用

  • 收集符号属性
  • 上下文语义的合法性检查的依据
  • 作为目标代码生成阶段地址分配的依据

记录符号本身特性

辅助分配空间

语义检查

6.4 解释LL(1)文法

一个文法满足下面条件:

(1)文法不含左递归

(2)对于文法中每一个非终结符A的各个产生式的候选首符集不相交

(3)对于于文法中每一个非终结符A,若它存在的某个候选首符集包含ε,那么first(A)∩follow(A)=空

6.5 写出语言L的上下文无关文法

6.6 正规式的概念

正则表达式是一种用来描述正则语言的更紧凑的表示方法。

6.7 语言和文法的概念

语言:语言 (language) 是某个给定字母表上的串的可数集合

文法:文法(Grammar)是一种形式化的表达式,用于描述一种语言的语法规则。文法由一组产生式组成,每个产生式定义了一种语法结构及其对应的生成方式。

一般包括四个部分:终结符、非终结符、产生式、开始符

6.8 现有一个词法分析方法GetToken(),和ACTION和GOTO的LR(0)预测分析表,请用伪代码完成自底向上的语法分析

6.9 代码优化目的是什么

提高程序的性能;减小程序的体积;提高程序的可维护性和可读性;降低程序的错误率.

6.10 DAG做目标代码生成 

设DAG有N个内部节点,线性表T[N] 记录计算顺序,初始为空值。

  • 最后T[1],T[2], …,T[N] 即为节点计算顺序

6.10 简述算符优先文法原理

7. 总结

 本文到这里就结束啦~~

本系列专栏将专注于【编译原理】知识。

内容包括:知识点讲解、习题练习、重点知识带练等~~目前已完成:

【编译原理】编译原理知识点汇总·概论与文法-CSDN博客

【编译原理】编译原理知识点汇总·词法分析器(正则式到NFA、NFA到DFA、DFA最小化)-CSDN博客

【编译原理】编译原理知识点汇总·语法分析器(消除左递归、消除二义性、自顶向下语法分析、自下向上语法分析)-CSDN博客

【编译原理】编译原理知识点汇总·属性文法和语法制导翻译-CSDN博客

【编译原理】编译原理知识点汇总·中间代码(中间代码+翻译)-CSDN博客

【编译原理】编译原理知识点汇总·代码优化-CSDN博客

【编译原理】词法分析器设计(山东大学实验一)_山东大学编译原理实验-CSDN博客

【编译原理】语法、语义分析器设计(山东大学实验二)_语法分析实验-实现一个简单语法分析器(自上而下方法)实验小结-CSDN博客

【编译原理】代码生成器的构建与测试(山东大学实验三)_编译原理实验语义分析代码-CSDN博客 【编译原理】一篇搞定正规式到NFA、NFA到DFA、DFA最小化-CSDN博客

【编译原理】一篇搞定语法分析器对文法的要求(上下文无法文法、消除二义性文法、消除左递归)-CSDN博客

【编译原理】一篇搞定LR分析法(LR(1)、LR(0)、SLR、LALR)-CSDN博客

【编译原理】一篇搞定注释分析树-CSDN博客

【编译原理】一篇搞定短语、直接短语、句柄-CSDN博客

期待您的关注~~🥰🥰 

猫猫陪你永远在路上💪💪

如果觉得对你有帮助,友友们可以点个赞,收个藏呀~

相关文章:

【编译原理】往年题汇总(山东大学软件学院用)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;编译原理_十二月的猫的博客-CSDN博客 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …...

【原创学习笔记】近期项目中使用的西门子V20变频器总结(上篇)

现场V20 22kW变频器如图所示 进线分别为L1,L2,L3,PE线&#xff0c;出现分别为U,V,W接电机 在西门子官网查询手册后&#xff0c;查询可知可以通过多种方式控制变频器&#xff0c;比如&#xff1a;面板&#xff08;BOP&#xff09;控制&#xff0c;端子&#xff08;NPN/PNP&…...

IndexOf Apache Web For Liunx索引服务器部署及应用

Apache HTTP Server 是一款广泛使用的开源网页服务器软件,它支持多种协议,包括 HTTP、HTTPS、FTP 等 IndexOf 功能通常指的是在一个目录中自动生成一个索引页面的能力,这个页面会列出该目录下所有的文件和子目录。比如网上经常看到的下图展现的效果,那么接下来我们就讲一下…...

Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击

Pytorch | 利用PI-FGSM针对CIFAR10上的ResNet分类器进行对抗攻击 CIFAR数据集PI-FGSM介绍背景和动机算法原理算法流程 PI-FGSM代码实现PI-FGSM算法实现攻击效果 代码汇总pifgsm.pytrain.pyadvtest.py 之前已经针对CIFAR10训练了多种分类器&#xff1a; Pytorch | 从零构建AlexN…...

Casino Royale靶场wp

0x00 下载安装 https://download.vulnhub.com/casinoroyale/CasinoRoyale.ova 导入vmware启动 0x01 主机信息收集 0x02目录扫描 index.php 获取到一个域名 修改本地hosts 添加一行 路径&#xff1a;C:\Windows\System32\drivers\etc 192.168.2.20 casino-royale.local 点击…...

c/c++ 无法跳转定义

背景 对于嵌入式开发离不开交叉编译工作&#xff0c;采用vccode远程到虚拟机开发来说&#xff0c;总会遇到一个函数跳转问题。下面针对运用开发如何设置vscode保证函数能正确跳转大函数定义。 一、安装c/c插件 安装C/C Extension Pack插件&#xff0c;这插件包含有几个插件。…...

4.5 数据表的外连接

本次课程我们将继续的学习数据表的连接。因为数据表的连接是分为内连接和外连接的。内连接的语法&#xff0c;还有一些练习&#xff0c;我们都是学习到了。那么本次课程咱们就开始学习数据表的外连接语法。首先我来解释一下为什么要使用外连接这种语法。咱们首先看一条记录&…...

请购单一直提示需求部门不能为空无法提交

终于发现了它的逻辑。用户很多次反馈&#xff0c;提交请购单时&#xff0c;提示需求部门不能为空&#xff0c;既使选择了需求部门&#xff0c;保存时&#xff0c;神奇的是会清空掉部门的信息&#xff0c;提交时就会有错误提示出来。 原因&#xff1a;光选择单头上的需求部门是…...

Jenkins基础教程

Jenkins介绍 Jenkins 是一款开源的持续集成&#xff08;CI&#xff09;和持续交付&#xff08;CD&#xff09;工具&#xff0c;在软件开发和自动化部署流程中发挥着关键作用。 1.背景和起源 它最初是由 Sun Microsystems 公司的一名工程师开发的 Hudson 项目&#xff0c;后来…...

如何配置 Java 环境变量:设置 JAVA_HOME 和 PATH

目录 一、什么是 Java 环境变量&#xff1f; 二、配置 Java 环境变量 1. 下载并安装 JDK 2. 配置 JAVA_HOME Windows 系统 Linux / macOS 系统 3. 配置 PATH Windows 系统 Linux / macOS 系统 4. 验证配置 三、常见问题与解决方案 1. 无法识别 java 或 javac 命令 …...

深入解析 Pytest 钩子函数及二次开发过程

关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理&#xff0c;构建成功的基石 在自动化测试工作之前&#xff0c;你应该知道的10条建议 在自动化测试中&#xff0c;重要的不是工具 在 Pytest 测试框架中&#xff0c;钩子函数&#xff08;Hooks&#xff09;是一种强…...

http 请求总结get

关于get请求传递body的问题 错误代码 有400 , 415 等情况 <!doctype html><html lang"zh"><head><title>HTTP Status 400 – 错误的请求</title><style type"text/css">body {font-family:Tahoma,Arial,sans-seri…...

漏洞扫描:网络安全的 “体检” 与 “防护指南”

在当今数字化时代&#xff0c;网络安全如同守护城堡的坚固城墙&#xff0c;而漏洞扫描则是检查城墙是否存在缝隙与薄弱环节的重要手段。那么&#xff0c;究竟什么是漏洞扫描&#xff1f;又该如何进行呢&#xff1f; 什么是漏洞扫描&#xff1f; 漏洞扫描是一种安全检测过程&a…...

《Vue进阶教程》第二十七课:实现侦听对象

往期内容&#xff1a; 《Vue进阶教程》第十六课&#xff1a;深入完善响应式系统之单例模式 《Vue进阶教程》第十七课&#xff1a;支持分支切换 《Vue进阶教程》第十八课&#xff1a;避免死循环 《Vue进阶教程》第十九课&#xff1a;computed初步实现 《Vue进阶教程》第二十…...

【Linux 网络 (五)】Tcp/Udp协议

Linux 网络 一前言二、Udp协议1&#xff09;、Udp协议特点2&#xff09;、Udp协议格式3&#xff09;、Udp报文封装和解包过程4&#xff09;、UDP的缓冲区 三、TCP协议1&#xff09;、TCP协议特点2&#xff09;、TCP协议格式1、4位首部长度、源端口、目的端口2、16位窗口大小3、…...

算法工程化工程师

算法工程化工程师是一种结合算法研究与工程开发能力的技术职位&#xff0c;主要职责是将算法从理论研究到实际落地&#xff0c;应用到各种工业或商业场景中。以下是关于这个职位的一些核心内容&#xff1a; 核心职责&#xff1a; 算法实现与优化&#xff1a; 将数学模型或算法…...

信息系统管理师试题-转型升级

1.3.转型升级 战略转型升级是对组织的长期发展方向、运行模式、组织战略、组织方式、资源配置方式、祖师文化等进行全方位升级变革。下列对战略转型升级的描述错误的是&#xff08;&#xff09; A大多数组织的转型主要是战略转型 B组织转型升级首先要解决的是战略选择问题 C组织…...

mysql三种读取模式(普通、流式、游标)

在与MySQL数据库交互时&#xff0c;数据的读取方式有多种选择&#xff0c;包括流式读取、游标读取和普通读取。每种方式都有其独特的原理、优势和劣势。本文将对这三种读取方式进行详细介绍&#xff0c; 1. 普通读取 介绍 普通读取是指通过JDBC的Statement或PreparedStateme…...

月子会所ERP管理云平台 GetData.ashx SQL注入致RCE漏洞复现

0x01 产品简介 月子会所ERP管理云平台是武汉金同方科技有限公司专为为母婴服务行业提供信息化解决方案,是结合行业顶级月子中心相关企业需求开发的一套综合性管理软件。该系统全面管控月子中心经营过程中的各个环节,提高总店及分店月子中心管理水平,规范月子中心从业人员操作…...

Ubuntu22.10/22.04 autoinstall--OK

第一步:建立ubuntu22.04 jammy apt本地源(见本博主对应栏) --------------------------------------------------------------------------------------- ubuntu22.04 grub配置: menuentry Ubuntu22.04-autoinstall(UEFI) --id UBUNTU22.04-autoinstall { echo "…...

操作系统之同步与互斥的基本概念

1. 同步的基本概念 定义&#xff1a;同步是指在多个并发执行的进程或线程之间协调其行为&#xff0c;以使它们能够正确地相互合作。在计算机科学中&#xff0c;同步通常指对共享资源进行访问控制&#xff0c;以避免竞争条件和死锁等问题。 实现方式&#xff1a;为了实现同步&a…...

【ANGULAR网站开发】初始环境搭建

1. 初始化angular项目 1.1 创建angular项目 需要安装npm和nodejs&#xff0c;这边不在重新安装 直接安装最新版本的angular npm install -g angular/cli安装指定大版本的angular npm install -g angular/cli181.2 启动angular 使用idea启动 控制台启动 ng serve启动成功…...

[青少年CTF练习平台]Lihua‘s for

下载附件之后直接IDA启动 查看dword_403040指向的内容&#xff0c;全是数据&#xff0c;提取出来 分析完成写脚本 flag "" temdata [0x00000066, 0x0000006D, 0x00000063, 0x00000064, 0x0000007F, 0x00000064, 0x00000032, 0x00000036, 0x0000006A, 0x000000…...

WebRTC服务质量(12)- Pacer机制(04) 向Pacer中插入数据

WebRTC服务质量&#xff08;01&#xff09;- Qos概述 WebRTC服务质量&#xff08;02&#xff09;- RTP协议 WebRTC服务质量&#xff08;03&#xff09;- RTCP协议 WebRTC服务质量&#xff08;04&#xff09;- 重传机制&#xff08;01) RTX NACK概述 WebRTC服务质量&#xff08;…...

css文字折行以及双端对齐实现方式

使用flex布局后&#xff0c;文字超出容器部分不会自动折行了。实现代码如下&#xff1a; <el-row><el-col :span"24"><span class"label">姓名</span><span class"content">{{name}}</span></el-col>…...

AI智能养站神器-SEO助理原创文章批量生成发布工具

很多站长最头疼的就是网站每天的内容更新&#xff0c;因为不知道写什么&#xff0c;采集被人的文章又会被定义为抄袭&#xff0c;而且现在伪原创已经没有多大的效果了&#xff0c;所以今天给大家分享的就是一款AI智能养战神器-SEO助理原创文章批量生成发布工具。 这款工具支持…...

python数据分析之爬虫基础:selenium详细讲解

目录 1、selenium介绍 2、selenium的作用&#xff1a; 3、配置浏览器驱动环境及selenium安装 4、selenium基本语法 4.1、selenium元素的定位 4.2、selenium元素的信息 4.3、selenium元素的交互 5、Phantomjs介绍 6、chrome handless模式 1、selenium介绍 &#xff08;1…...

使用 ECharts 与 Vue 构建数据可视化组件

在前端开发中&#xff0c;数据可视化是非常重要的一部分。ECharts 作为一个功能强大且易于使用的开源数据可视化库&#xff0c;被广泛应用于各种图表展示需求中。而 Vue.js 是当下流行的前端框架之一&#xff0c;它的数据驱动和组件化开发模式让我们能轻松地将 ECharts 集成到 …...

KAFKA 权威指南笔记(一)究竟应该配置多少个BROKER?

一个KAFKA集群需要多少个BROKER&#xff1f; 一个单独的Kafka服务器被叫做BROKER&#xff0c;BROKER可以处理数千个分区以及每秒百万级别的消息量。由BROKER组成了“集群”&#xff08;其中由集群控制器角色的BROKER是从成员中选举出来的&#xff0c;负责控制管理工作&#xf…...

练习题:20

目录 Python题目 题目 题目分析 1. 类与变量、属性设计分析 2. Value 属性的实现分析 3. 转换函数分析 4. 整体代码结构与编程规范考虑 代码实现 代码解释 1. 类定义部分 2. 对象创建与功能测试部分 运行思路 1. 类定义阶段 2. 对象创建阶段 3. 获取 Value 属性…...

【时时三省】(C语言基础)动态内存函数malloc

山不在高&#xff0c;有仙则名。水不在深&#xff0c;有龙则灵。 ----CSDN 时时三省 malloc 开辟内存块 使用格式 void *malloc&#xff08;size_t sie&#xff09;&#xff1b; 示例 10*sizeof(int&#xff09;就是开辟空间的大小 如果p是void指针的话 p不能解引用 m…...

大数据学习之Redis 缓存数据库二,Scala分布式语言一

一.Redis 缓存数据库二 26.Redis数据安全_AOF持久化机制 27.Redis数据安全_企业中该如何选择持久化机制 28.Redis集群_主从复制概念 29.Redis集群_主从复制搭建 30.Redis集群_主从复制原理剖析 31.Redis集群_哨兵监控概述 32.Redis集群_配置哨兵监控 33.Redis集群_哨兵监控原理…...

第23天:信息收集-APP应用产权渠道服务资产通讯抓包静态提取动态调试测试范围

#知识点 1、信息收集-APP应用-公开信息-知识产权&开发者定位 2、信息收集-APP应用-资产信息-抓包&静态提取&动态调试 一、APP渗透测试的范围->应涵盖APP所有功能和组件&#xff0c;包括但不限于以下几个方面&#xff1a; 1、前端安全&#xff1a;包括界面交互、…...

每日一练 | DHCP 客户端续约过程

01 真题题目 在 DHCP 运行过程中&#xff0c;如果客户端 IP 地址在租约过去 87.5%还没有完成续约的话&#xff0c;客户端将发送什么报文进行再次续约&#xff1f; A. DHCPdiscover 广播报文 B. DHCP release 单播报文 C. DHCPrequest 广播报文 D. DHCPrequest 单播报文 02 真题…...

存储块的获取与释放

目录 获取存储块 释放存储块 设计实现 获取存储块 有空闲存储块&#xff0c;直接取出空闲块&#xff1b; 无空闲存储块&#xff0c;任务进入等待队列。 释放存储块 无任务等待&#xff0c;插入到空闲链表&#xff1b; 有任务等待&#xff0c;释放等待队列头部的任务。 设计实现…...

定位方式:css

使用相对路径 div ul #div下的所有ul&#xff0c;空格表示相对路径&#xff08;这个实际中用的多一些&#xff09; 绝对路径-一般不用绝对路径 html>head>div&#xff0c;“>”表示根路径 使用class名称定位 使用.表示 使用id定位 使用#表示 使用属性定位 [属性名…...

主从复制架构介绍和主从复制配置案例

每一个数据库的业务都对应着一个前端的业务&#xff0c; 主从复制架构的必要性? 第一点是两个服务器如果有一台服务器出现故障&#xff0c;那么另一台服务器可以正常工作&#xff0c;以保障前端业务可以被正常访问&#xff0c;第二点是两个服务器可以共同去处理数据&#xff…...

零跑汽车一路狂飙

新能源汽车市场潮起潮落&#xff0c;只有潮水退去&#xff0c;才能看清谁在裸泳。十年前&#xff0c;一批新能源汽车新势力带着创新的理念和先进的技术&#xff0c;如雨后春笋般涌入中国汽车市场&#xff0c;掀起一场新旧势力的角逐。 经历市场的激烈洗礼与投资泡沫的挤压&…...

固态硬盘SSD

目录 1、固态硬盘结构 2、访问和读取策略 3、固态硬盘 VS SSD固态硬盘 &#xff08;1&#xff09;速度 &#xff08;2&#xff09;性能 &#xff08;3&#xff09;使用寿命 4、磨损均衡技术 &#xff08;1&#xff09;动态磨损均衡 &#xff08;2&#xff09;静态磨损…...

MTEB文本向量化评估基准:Massive Text Embedding Benchmark

Massive Text Embedding Benchmark 文本向量化评估基准 Bitext mining is the task of finding parallel sentences in two languages. 双语文本挖掘是识别两种语言中语义等价句子对的任务。 Classification is the task of assigning a label to a text. 文本分类是为文本分配…...

【Compose multiplatform教程09】【组件】Image组件

查看全部组件 Image 功能说明&#xff1a;能够加载并显示图片&#xff0c;支持本地资源和网络资源&#xff0c;可对图片的大小、缩放方式、裁剪等属性进行设置&#xff0c;使图片以合适的方式展示在界面中&#xff0c;增强界面的视觉效果。示例场景&#xff1a;在应用的启动页…...

android jetpack compose Model对象更新变量 UI不更新、不刷新问题

以前是搞老本行Android原生开发的&#xff0c;因为工作原因&#xff0c;一直在用vue小程序&#xff1b;因为一些工作需要&#xff0c;又需要用到Android原生开发&#xff0c;建了个项目&#xff0c;打开源码一看&#xff0c;天塌了&#xff01;&#xff01;&#xff01;我以前的…...

Java抽象工厂+单例模式

在前端时间开发过程中,有这样一个业务场景:A;B两家厂商设备进行设备信息的同步功能。 根据实际场景,做了抽象工厂+单例模式实现调用工厂时,生成不同的具体业务引用对象,实现方法的调用。 概念: 抽象工厂模式通过接口或抽象类来创建一系列相关或依赖对象。它定义了一组工…...

React 第十九节 useLayoutEffect 用途使用技巧注意事项详解

1、概述 useLayoutEffect 是useEffect 的一个衍生版本&#xff0c;只是他们的执行时机不同 useLayoutEffect 用于在DOM更新执行完成之后&#xff0c;浏览器渲染绘制之前执行&#xff0c;这会阻塞浏览器的渲染&#xff1b; useEffect 的执行时机是在组件首次渲染和更新渲染之后…...

以太网协议实现——FPGA学习笔记23

一、简介 FPGA千兆网口数据传输MDIO接口——FPGA学习笔记3_yt8531sh原理图-CSDN博客 1、以太网帧类型 2、以太网帧格式 3、以太网MAC帧格式 二、以太网报文 目的IP :ff ff ff ff ff ff(广播IP地址) 类型:ARP (0806) 源MAC地址:74 7d 24 92 fb df 单播 …...

docker 实践与应用举例

docker 实践与应用举例 Docker是一个开源的容器化平台&#xff0c;它允许开发人员将应用程序及其依赖项打包为一个轻量级、可移植的容器&#xff0c;并在不同的环境中运行。Docker的基本概念包括以下几点&#xff1a; 1. 容器&#xff1a;Docker通过使用Linux容器技术&#x…...

双指针——有效三角形的个数

一.题目描述 611. 有效三角形的个数 - 力扣&#xff08;LeetCode&#xff09; 二.题目解析 题目其实很简单就是让我们在数组中找到可能构成三角形的所有可能。构成三角形的前提是&#xff1a;任意两边之和大于第三边。所以我们要满足让下面三条同时成立才可以构成三角形&am…...

【ES6复习笔记】函数参数的默认值(6)

在ES6中&#xff0c;函数参数默认值是一个非常有用的特性&#xff0c;它允许你在定义函数时为参数指定一个默认值。如果在调用函数时没有提供相应的参数值&#xff0c;那么函数将使用默认值。 1. 形参初始值 具有默认值的参数&#xff0c;一般位置要靠后。这是一个潜规则&…...

tryhackme-Cyber Security 101-Linux Shells(linux命令框)

目的&#xff1a;了解脚本和不同类型的 Linux shell。 任务1&#xff1a;Introduction to Linux Shells&#xff08;Linux Shell 简介&#xff09; 作为操作系统的常规用户&#xff0c;我们都广泛使用图形用户界面 &#xff08;GUI&#xff09; 来执行大多数操作。只需点击几…...

【Go】-限流器的四种实现方法

目录 关于限流和限流器 固定窗口限流器 滑动窗口限流器 漏桶限流器 令牌桶限流器 总结 关于限流和限流器 限流&#xff08;Rate Limiting&#xff09;是一种控制资源使用率的机制&#xff0c;通常用于防止系统过载和滥用。 限流器&#xff08;Rate Limiter&#xff09;是…...