软件工程师中级考试-上午知识点总结(上)

我总结的这些都是每年的考点,必须要记下来的。

1. 计算机系统基础

1.1 码

  1. 符号位0表示正数,符号位1表示负数。
  2. 补码:简化运算部件的设计,最适合进行数字加减运算。
  3. 移码:与前几种不同,1表示+,0表示-。用于浮点运算和表示浮点数阶码。

数据表示如下:
在这里插入图片描述

1.2 浮点数

  1. 定点表示法中小数点不占存储位。
  2. 表示方法为N=M×R^E,其中E称为阶码,M称为尾数。
    数值范围由阶码E确定,数值精度由尾数M确定
  3. 运算时候,小阶向大阶看齐,小阶增加几位,尾数右移几位。
  4. 定点小数表示中,只有补码能表示 -1。
  5. 当浮点数的尾数用补码表示时,规格化数的判断标准是:​​数符(符号位)与尾数小数点后第一位数值必须相异​​。而阶码与数符和规格化与否无关。

1.3 校验码

  1. 循环冗余校验码:模二运算。
  2. 海明码:可校验可纠错。
  3. 海明码计算:2^k>=n+k+1(n为数据位,k为校验位)

1.4 计算机硬件组成

  1. 输入设备和输出设备合称为外部设备(外设)。
  2. 中央处理单元CPU:由运算器、控制器、寄存器组和内部总线组成。
  3. CPU的主要功能:实现程序控制、操作控制、时间控制、数据处理功能。
  4. 单核 CPU 和多核CPU都支持多任务操作系统。

1.5 运算器

算术逻辑单元(ALU):负责处理数据,实现对数据的算数运算和逻辑运算
累加寄存器(AC):运算器执行运算时,暂存计算结果数据。
数据缓冲寄存器(DR):对内存储器进行读写操作时,数据中转站(注意和AC区别)。

1.6 控制器

程序计数器(PC):存储下一条要执行指令的地址。
指令寄存器(IR):用来存放当前正在执行的指令。
地址寄存器(AR):用来保存当前CPU所访问的内存单元的地址。

注意:

  • 程序员可见:通用寄存器(ALU、AC、DR、PSW)、程序计数器(PC)
  • 程序员不可见:指令寄存器(IR)、存储器数据寄存器(MDR)、存储器地址寄存器(MAR)、ID、地址寄存器、时序部件。

1.7 Cache(高速缓存)

  1. 内容是主存内存的副本拷贝,对于程序员来说是透明的。
  2. 缓和CPU与主存之间的速度矛盾。
  3. 地址映射:Cache与主存的映射有专门硬件自动实现。
  4. 映射分为:全相联映射(空间利用充分,命中率高,查找慢);直接映射(速度最快,空间利用不充分,命中率低);组相联映射。
  5. Cache命中率:随着Cache容量增加,命中率也会增加,但效率降低了。
  6. 平均存取时间=h×T+(1-h)×t
  7. 访问效率=Cache存取时间/平均存取时间。

1.8 存储器的分类

  1. 分类:
    DRAM(动态随机存储器):是主存的主要构成。特点是:只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,如果存储单元没有被刷新,存储的信息就会丢失。
    SRAM(静态随机存储器):用来作为高速缓存存储器(Cache)。特点是:不需要刷新电路即能保存它内部存储的数据。因此SRAM具有较高的性能,但是集成度较低,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,且功耗较大。
  2. 虚拟存储器:由主存和辅存构成。
  3. 几种常见存储器
    • 随机存储器:可以按地址访问存储器的任一单元。
    • 顺序存储器:访问时按顺序查找目标地址,它访问数据所需时间与数据存储位置相关。
    • 直接存储器:按照数据块所在位置访问。
    • 相联存储器:按内容访问的存储器。
  4. 磁盘是一种直接存储器。

1.9 输入/输出技术

CPU与外设之间的数据传送方式

在计算机中,I/O系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、I/O处理机。

  1. 程序控制方式
    分为无条件查询和程序查询方式。

    • 无条件传送方式
      I/O端口总是准备好接受主机的输出数据,或是总是准备好向主机输入数据,而cpu在需要时,随时直接利用I/O指令访问相应的I/O端口,实现与外设的数据交换。优点是软、硬件结构简单,缺点是对时序要求高,只适用于简单的I/O控制。
    • 程序查询方式(需要CPU,顺序工作
      程序查询方式也称为程序轮询方式,该方式采用用户程序直接控制主机与外部设备之间输入/输出操作。CPU必须不停地循环测试I/O设备的状态端口,当发现设备处于准备好(Ready)状态时,CPU就可以与I/O设备进行数据存取操作。这种方式下的CPU与I/O设备是串行工作的。
  2. 中断方式(需要CPU,并行工作
    当I/O接口准备好就接收数据或向CPU传送数据就会发出中断信号通知CPU。(CPU无需等待,提高利用率)

    • 为了方便实现多级中断镶套,使用堆栈来保护最有效。
    • 中断向量:提供中断服务程序的入口地址。
    • 中断响应时间:发出中断请求开始到进入中断服务程序。
    • 保存现场:返回来执行源程序。
  3. DMA方式(工作不需要CPU)
    DMA方式(直接主存存取方式),其思想是:允许主存储器和I/O设备之间通过“DMA控制器(DMAC)”直接进行批量数据交换,除了在数据传输开始和结束时,整个过程无须CPU的干预,并行工作,完全由硬件完成交换数据

  4. 通道控制方式
    在一定的硬件基础上利用软件手段实现对I/O的控制和传送,更多地免去了cpu的接入,使主机和外设并行工作程度更高。

  5. I/O处理机
    指专门负责输入/输出的处理机。可以有独立的存储器、运算部件和指令控制部件。

DMA

DMA控制器在需要的时候代替CPU作为总线主设备,在不受CPU干预的情况下,控制I/O设备与系统主存之间的直接数据传输。DMA操作占用的资源是系统总线,CPU是在一个总线周期结束时响应DMA请求的。

零碎知识点
  1. 计算机类与鼠标类的关系是聚合关系。
  2. CPU利用较高的主频、高速缓存(Cache)和通用函数库等技术来执行指令 。
  3. GPU使用SIMD/SIMT架构,MISD纯粹是一种理论模型,并没有实际意义

1.10 总线结构

  1. 总线结构:一组能为多个部件分时共享的公共信息传送线路。
  2. 三总线结构:数据总线、地址总线、控制总线。
  3. 时钟周期=1/时钟频率。
  4. 最短传输周期=n×时钟周期。
  5. 总线最大数据传输率(总线带宽)=(总线宽度/8)/最短传输周期
  6. CPU查询数据: CPU在内存里寻找数据时,先通过地址线找到地址,再通过数据线将数据取出来。
  7. 计算机在执行指令的过程中,需要直接寻址,首先要将内存单元所在地址的值送到地址总线上。
  8. 指令周期>CPU周期>时钟周期(计算机操作的最小单元时间)

1.11 寻址方式

  1. 立即寻址方式:操作数就包含在指令中(直接给出操作数本身)
  2. 直接寻址方式:操作数存放在内存单元中(直接给出操作数所在内存的地址)
  3. 寄存器寻址方式:操作数存放在某一寄存器中(指令中给出存放操作数的寄存器地址)
  4. 间接寻址方式:指令中给出的是操作数地址的地址。
  5. 寄存器间接寻址:操作是存放在内存单元中,操作数所在存储单元的地址在某一寄存器中。
  6. 隐含寻址:不是明显的给出操作数地址,而是在指令中隐含着地址。
  7. 获取操作数的速度:立即寻址>寄存器寻址>直接寻址>寄存器间接寻址>间接寻址。
Flynn分类

Flynn的分类依据是指令流和数据流。
在这里插入图片描述

1.12 CISC和RISC

在这里插入图片描述

1.13 指令的流水线处理

  1. 流水周期(△t)为执行时间最长的一段(△t)
  2. 流水执行时间
    理论:1条指令的执行时间+(指令数-1)×流水周期(公式=(t1+t2+t3…+tn)+(n-1)×△t)
    实践:(公式=(k+n-1)×△t,k为工序数)
  3. 流水吞吐率(tp)=指令条数 / 指令流水时间
  4. 流水最大吞吐率=1 / 流水时间
  5. 流水加速比=不使用流水执行时间 / 使用流水线的执行时间

在这里插入图片描述

2. 操作系统

2.1 线程与进程

  1. 进程状态
    ①阻塞:进程因发生某件事而暂停执行
    ②就绪:进程具备运行条件,但尚未运行
    ③运行:进程在处理机上运行
    ④创建:为新进程创建PCB,并填写必要信息,并把进程插入到就绪队列中
    ⑤终止:资源释放回收。
    在这里插入图片描述
  2. 线程:进程的轻型实体,是一系列指令的集合。(提高OS的并发性)(OS运算调度的最小单位)。
  3. 共享进程资源:线程基本不拥有自己的资源,只拥有运行中必不可少的资源(如:PC、寄存器、栈,但可共享进程全部资源)。
  4. 调度方式:
    可剥夺式调度:立即暂停当前进程,分配处理机给高优先级进程(原则:优先权、短进程优先、时间片原则)
    不可剥夺式调度:必须等待进程运行完方可释放占用CPU(缺点:适用于批处理系统,不适用分时/实时系统)。
  5. 临界资源不能采用时间片轮转分配算法。

2.2 分区存储管理

  1. 固定分区:(一种静态分区方式)在系统生成时已将主存划分成若干个分区,每个分区的大小可不等;(OS通过主存分配情况表管理主存)。
  2. 可变分区:(一种动态分区方式)存储空间的划分是在作业装入时进行的,故分区的个数可变,分区的大小刚好等于作业的大小。(OS通过已分配表、未分配表管理主存)。

2.3 分页存储管理

  1. 高级程序语言使用逻辑地址,运行状态内存使用物理地址。
  2. 地址结构:(组成:页号+页内地址(页内偏移量)=偏移量)。
  3. 快表是将页表存于Cache中;慢表是将页表存于内存上。

2.4 虚拟存储管理

  1. 虚拟存储器的实现(特性:离散性、多次性、对换性、虚拟性)。
  2. 虚拟存储器利用了局部性原理。
  3. 在虚拟存储器中,页面如果很小,虚拟存储器中包含的页面个数就会过多,使得页表的体积过大,页表本身占据的存储空间过大,操作速度将变慢。
  4. 当页面很大时,虚拟存储器中的页面个数会变少,另外,主存的容量比虚拟存储器的容量更少,主存中的页面个数就会更少,缺页率自然很大,就会不断的调入/调出页面,降低操作速度。
  5. 段式虚拟存储器是按照程序的逻辑性来设计的,具有易于实现程序的编译、管理和保护,也便于多到程序共享的优点。

2.5 设备管理

  1. I/O设备管理软件一般分为4层(由下至上):中断处理程序、设备驱动程序、设备无关系统软件、用户级软件。
  2. Spooling技术: 缓和CPU高速性与I/O设备低速性的矛盾。

2.6 嵌入式操作系统

嵌入式系统:自底向上由三个主要环节组成(片级初始化—板级初始化—系统级初始化
片级初始化:完成嵌入式微机处理器的初始化
板级初始化:完成嵌入式微机处理器以外的其他硬件设备初始化
系统级初始化:以软件初始化为主,主要进行操作系统的初始化。

2.7 零碎知识点

  1. 在UNIX操作系统中,把输入/输出设备看作是特殊文件。在UNIX系统中包括两类设备:块设备和字符设备。
  2. 传统机器级的机器语言是该机的指令集,程序员用机器指令编写的程序可以由微程序进行解释

3. 数据库技术

3.1 数据库设计

分为四个阶段:

  1. 用户需求分析:收集用户需求,确定系统边界。(产物包括:数据流图、数据字典、需求说明)。
  2. 概念设计:设计E-R图(实体-属性图)。(存在属性冲突、命名冲突、结构冲突)。
  3. 逻辑设计:将E-R转换成关系模式。(需要考虑:关系规范化,确定完整性约束)。
  4. 物理设计:根据生成的表等概念,生成物理数据库。

3.2 三级模式结构

三级模式分为:

  1. 外模式(也称用户模式或子模式):对应→视图
  2. 概念模式(也称模式):对应→基本表
  3. 内模式(也称存储模式):对应→存储文件。(索引→物理层(对应内模式)看到索引就选物理层/内模式即可)。

两级映射分为:

  1. 模式/内模式映像:实现概念模式到内模式之间的相互转换(物理独立性
  2. 外模式/模式映像:实现了外模式到概念模式之间的相互转换(逻辑独立性)(创建视图构建的是外模式和外模式/模式之间的映射)。

3.3 数据模型三要素

  1. 数据结构:是所研究的对象类型的集合(系统静态特性)。
  2. 数据操作:是对数据库中各种对象(型)的实例(值)允许执行的操作集合(系统动态特性)。
  3. 数据的约束条件:是一组完整性规则的集合。

3.4 关系代数运算

  1. 自然连接:特殊的等值连接,相同属性对应的值必须相同才能进行连接。(去除重复列)

3.5 数据库SQL语句

  1. 索引的创建和删除(采用三级模式的数据库系统中如果对一个表创建聚簇索引,那么改变的是数据库的内模式)。
  2. 视图的创建删除和修改(WITH CHECK OPTION )。
  3. 视图是从一个表或多个表或视图中导出的,是一个虚拟表。
  4. WITH CHECK OPTION 表示对 UPDATE、INSERT、DELETE 操作时要保证更新、插入或删除的行满足视图定义中的谓词条件。
  5. 授予、撤销权限的操作——[WITH GRANT OPTION]。

3.6 函数依赖

  1. 部分函数依赖:A可确定C, (A,B)也可以确定C,(A,B)中的一部分(即A)可以确定C,称为部分函数依赖。
  2. 完全函数依赖:在R(U)中,如果X→Y,并且对于X的任何一个真子集X’,都有X’不能决定Y,则称Y对X完全函数依赖。
  3. 传递函数依赖:当A和B不等价时, A可确定B,B可确定C,则A可确定C,是传递函数依赖。

3.7 函数依赖公理

  1. 传递律:如果X→Y且Y→Z,则X→Z成立。
  2. 合并规则:{X→Y,X→Z}X → YZ 。
  3. 分解规则:如果X→Y且Z⊆Y,则X→Z成立。
  4. 伪传递规则:{X→Y,WY→Z}XW→Z 。

3.8 范式

  1. 第一范式(1NF)
    存在数据冗余、修改异常、插入异常、删除异常(部分函数依赖造成的)。
    进行模式分解,消除非主属性的部分函数依赖的问题,就会变成第二范式。

  2. 第二范式(2NF)
    虽然不存在部分函数依赖,但仍存在传递依赖
    进行模式分解,消除非主属性的传递依赖的问题,就会变成第三范式。

  3. 第三范式(3NF)
    仍存在主属性的部分函数依赖和传递依赖。
    进行模式分解,消除主属性的传递依赖的问题,就会变成BCNF。

  4. 巴克斯范式(BCNF)
    完全消除了插入、修改、删除的异常。
    BCNF不是第四范式 。

3.9 模式分解

  1. 分解具有无损连接性【如果R的分解为p={R1,R2},R1∩R2->(R1-R2)或者R1∩R2->(R2-R1)】。
  2. 分解要保持函数依赖。
  3. 分解既要无损连接性,又要保持函数依赖。

3.10 事务管理与并发控制

  1. 排它锁(X):若事务T对A加上X锁,则只允许T读取和修改A其他事务都不能再对A加任何类型的锁,直达T释放A上的锁。
  2. 共享锁(S):若事务T对A加上S锁,则只允许T读取A,但不能修改A,其他事务只能在对A加S锁,直到T释放A上的S锁。

3.11 数据库的备份与恢复

日志文件:进入事务处理先写入日志文件,当系统正常运行时,将缓冲区内容写入数据文件

3.12 关系模式

  1. 由数据结构、关系操作集合、关系完整性约束三部分组成。
  2. 用二维表结构表示实体。

3.13 透明性

  1. 分片透明性:用户或应用程序不需要知道逻辑上访问的表具体是如何分块存储的。
  2. 位置透明性:应用程序不关心数据存储物理位置的改变。
  3. 逻辑透明性:用户或应用程序无需知道局部使用的是哪种数据模型
  4. 复制透明性:用户或应用程序不关心复制的数据从何而来

3.14 分布数据库

  1. 共线性:存储在不同节点的数据共享。
  2. 自治性:每个结点对本地数据能独立管理。
  3. 可用性:某一场地故障时,可以用其他场地副本从而不至于瘫痪。
  4. 分布性:数据在不同场地上的存储。

3.15 存储过程

存储过程:供第三方开发人员调用进行数据更新,从而保证数据库的关系模式不会被第三方获取(数据安全)。

4. 计算机网络

1. OSI七层协议参考模型

记忆谐音:物联网传话试用。
在这里插入图片描述

2. TCP/IP协议簇

在这里插入图片描述
基于TCP(可靠传输):POP3(邮件接收110),FTP(传输20,控制21),HTTP,Telnet(远程登录),SMTP(邮件发送25)。
基于UDP(不可靠传输):DHCP(动态主机配置),TFTP,SNMP,DNS(域名解析53)。

物理层(比特):中继器,集线器。
数据链路层(帧):网桥,交换机。
网络层(IP分组):路由器。
应用层(报文段):网关。

3. URL格式

域名 = 主机名.组名.最高层域名(https://www.csdn.net)

4. 冲突域和广播域

一个VLAN就是一个广播域,VLAN之间的通信是通过第3层的路由器来完成的。
路由器可以阻断广播域和冲突域,交换机只能阻断冲突域。

5. 信息安全和网络安全

5.1 安全协议的用途

在这里插入图片描述

5.2 防火墙技术

作用:包过滤,代理网关,状态监测,入侵检测。
在出口防火墙设置ACL防止外部未授权用户登录。

5.3 网络攻击

  1. 为了防止电子邮件中的恶意代码,应该用纯文本方式阅读电子邮件。

5.4 加密技术

非对称加密(针对于接收方):公钥(接收方)加密,私钥(接收方用自己的)解密。
数字签名(针对于发送方):私钥(发送方)签名,公钥(发送方的)验证。
对称加密算法:DES,AES,RC-5、RC-4,IDEA,(注意:MD5和SHA-1是哈希算法,不是加密算法)。
非对称加密算法:RSA,ECC,DSA。
数字签名算法:RSA、DSA。

5.5 信息的安全特性

  1. 数据的机密性(保密性):是指数据在传输过程中不能被非授权者偷看
  2. 数据的完整性:是指数据在传输过程中不能被非法篡改
  3. 数据的真实性(不可抵赖性):是指信息的发送者身份的确认或系统中有关主体的身份确认,这样可以保证信息的可信度;
  4. 可用性:指的是发送者和接受者双方的通信方式正常

5.6 零碎知识点

  1. 计算机获取模拟视频信息的过程中首先要进行A/D变换 。视频数字化的目的是将模拟信号经A/D转换和彩色空间变换等过程,转换成计算机可以显示和处理的数字信号。
  2. MP3就是使用MPEG-1 Audio Layer 3的声音编码。
  3. 在YUV彩色空间中对YUV分量进行数字化,对应的数字化位数通常采用Y:U:V=8:4:4 。
  4. 异地数据备份可以保证数据的可靠性,数据加密只能增强数据的安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/77799.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python Cookbook-6.7 有命名子项的元组

任务 Python 元组可以很方便地被用来将信息分组,但是访问每个子项都需要使用数字索引,所以这种用法有点不便。你希望能够创建一种可以通过名字属性访问的元组。 解决方案 工厂函数是生成符合要求的元组的子类的最简单方法: #若在2.4中可使用operator…

win10设置软件开机自启

参考教程:windows10应用程序设置了开机启动,但没有自启_win10软件设置了自启动但是不能自启动-CSDN博客 主要设置是安全策略:

自注意力机制、多头自注意力机制、填充掩码 Python实现

原理讲解 【Transformer系列(2)】注意力机制、自注意力机制、多头注意力机制、通道注意力机制、空间注意力机制超详细讲解 自注意力机制 import torch import torch.nn as nn# 自注意力机制 class SelfAttention(nn.Module):def __init__(self, input…

【大模型】Browser-Use AI驱动的浏览器自动化工具

Browser-Use AI驱动的浏览器自动化工具 1. 项目概述2. 核心架构3. 实战指南3.1 环境安装3.2 快速启动3.3 进阶功能 4. 常见问题与解决5. 项目优势与局限6. 扩展资源7. 总结 1. 项目概述 项目地址:browser-use Browser-Use 是一个开源工具,旨在通过 AI 代…

ubuntu20.04安装安装x11vnc服务基于gdm3或lightdm这两种主流的显示管理器。

前言:在服务端安装vnc服务,可以方便的远程操作服务器,而不用非要插上显示器才行。所以在服务器上安装vnc是很重要的。在ubuntu20中,默认的显示管理器已经变为gdm3,它可以带来与 GNOME 无缝衔接的体验,强调功…

用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置

原文链接:用银河麒麟 LiveCD 快速查看原系统 IP 和打印机配置 Hello,大家好啊!今天给大家带来一篇在银河麒麟操作系统的 LiveCD 或系统试用镜像环境下,如何查看原系统中电脑的 IP 地址与网络打印机 IP 地址的实用教程。在系统损坏…

C++——STL——容器deque(简单介绍),适配器——stack,queue,priority_queue

目录 1.deque(简单介绍) 1.1 deque介绍: 1.2 deque迭代器底层 1.2.1 那么比如说用迭代器实现元素的遍历,是如何实现的呢? 1.2.2 头插 1.2.3 尾插 1.2.4 实现 ​编辑 1.2.5 总结 2.stack 2.1 函数介绍 2.2 模…

Java并发编程-线程池

Java并发编程-线程池 线程池运行原理线程池生命周期线程池的核心参数线程池的阻塞队列线程池的拒绝策略线程池的种类newFixedThreadPoolnewSingleThreadExecutornewCachedThreadPoolnewScheduledThreadPool 创建线程池jdk的Executors(不建议,会导致OOM)jdk的ThreadP…

【前沿】成像“跨界”测量——扫焦光场成像

01 背景 眼睛是人类认识世界的重要“窗口”,而相机作为眼睛的“延伸”,已经成为生产生活中最常见的工具之一,广泛应用于工业检测、医疗诊断与影音娱乐等领域。传统相机通常以“所见即所得”的方式记录场景,传感器捕捉到的二维图像…

TM1640学习手册及示例代码

数据手册 TM1640数据手册 数据手册解读 这里我们看管脚定义DIN和SCLK,一个数据线一个时钟线 SEG1~SEG8为段码,GRID1~GRID16为位码(共阴极情况下) 这里VDD给5V 数据指令 数据命令设置 地址命令设置 显示控制命令 共阴极硬件连接图…

uni-app 开发企业级小程序课程

课程大小:7.7G 课程下载:https://download.csdn.net/download/m0_66047725/90616393 更多资源下载:关注我 备注:缺少两个视频5-14 tabs组件进行基本的数据展示和搜索历史 处理searchData的删除操作 1-1导学.mp4 2-10小程序内…

判断点是否在多边形内

代码段解析: const intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); 第一部分:(yi > y) !== (yj > y) 作用:检查点 (x,y) 的垂直位置是否跨越多边形的当前边。 yi > y 和 yj > y 分别检查边的两个端…

【redis】集群 如何搭建集群详解

文章目录 集群搭建1. 创建目录和配置2. 编写 docker-compose.yml完整配置文件 3. 启动容器4. 构建集群超时 集群搭建 基于 docker 在我们云服务器上搭建出一个 redis 集群出来 当前节点&#xff0c;主要是因为我们只有一个云服务器&#xff0c;搞分布式系统&#xff0c;就比较…

[langchain教程]langchain03——用langchain构建RAG应用

RAG RAG过程 离线过程&#xff1a; 加载文档将文档按一定条件切割成片段将切割的文本片段转为向量&#xff0c;存入检索引擎&#xff08;向量库&#xff09; 在线过程&#xff1a; 用户输入Query&#xff0c;将Query转为向量从向量库检索&#xff0c;获得相似度TopN信息将…

C语言复习笔记--字符函数和字符串函数(下)

在上篇我们了解了部分字符函数及字符串函数,下面我们来看剩下的字符串函数. strstr 的使用和模拟实现 老规矩,我们先了解一下strstr这个函数,下面看下这个函数的函数原型. char * strstr ( const char * str1, const char * str2); 如果没找到就返回NULL指针. 下面我们看下它的…

FreeRTOS中的优先级翻转问题及其解决方案:互斥信号量详解

FreeRTOS中的优先级翻转问题及其解决方案&#xff1a;互斥信号量详解 在实时操作系统中&#xff0c;任务调度是基于优先级的&#xff0c;高优先级任务应该优先于低优先级任务执行。但在实际应用中&#xff0c;有时会出现"优先级翻转"的现象&#xff0c;严重影响系统…

深度学习-全连接神经网络

四、参数初始化 神经网络的参数初始化是训练深度学习模型的关键步骤之一。初始化参数&#xff08;通常是权重和偏置&#xff09;会对模型的训练速度、收敛性以及最终的性能产生重要影响。下面是关于神经网络参数初始化的一些常见方法及其相关知识点。 官方文档参考&#xff1…

GIS开发笔记(9)结合osg及osgEarth实现三维球经纬网格绘制及显隐

一、实现效果 二、实现原理 按照5的间隔分别创建经纬线的节点,挂在到组合节点,组合节点挂接到根节点。可以根据需要设置间隔度数和线宽、线的颜色。 三、参考代码 //创建经纬线的节点 osg::Node *GlobeWidget::createGraticuleGeometry(float interval, const osg::Vec4 …

《Relay IR的基石:expr.h 中的表达式类型系统剖析》

TVM Relay源码深度解读 文章目录 TVM Relay源码深度解读一 、从Constant看Relay表达式的设计哲学1. 类定义概述2. ConstantNode 详解1. 核心成员2. 关键方法3. 类型系统注册 3. Constant 详解1. 核心功能 二. 核心内容概述(1) Relay表达式基类1. RelayExprNode 和 RelayExpr 的…

自动驾驶地图数据传输协议ADASIS v2

ADASIS&#xff08;Advanced Driver Assistance Systems Interface Specification&#xff09;直译过来就是 ADAS 接口规格&#xff0c;它要负责的东西其实很简单&#xff0c;就是为自动驾驶车辆提供前方道路交通相关的数据&#xff0c;这些数据被抽象成一个标准化的概念&#…