- 博客(111)
- 收藏
- 关注
原创 数字信号||离散序列的基本运算(2)
对于给定的离散序列x(n),序列x(mn)是x(n)每隔m点取一点形成,相当于时间轴n压缩了m倍;当m<0时,原序列x(n)向左移m位,形成的新序列称为x(n)的超前序列。已知信号x(n)=sin(2pn),求x(2n)和x(n/2)的信号波形。3.两个离散序列相加是指两个序列中相同序号n(或同一时刻)的序列值逐项对应相加,构成一个新的序列:x(n)=x1(n)+x2(n)调用格式:find((n>=min(n1))&(n<=max(n1)));
2024-07-23 21:00:12
389
原创 数字信号||离散序列的基本运算(1)
一个连续的周期性矩形波信号频率为5 kHz,信号幅度在0~2 V之间,脉冲宽度与周期的比例为1∶4,且要求在窗口上显示其2个周期的信号波形,并对信号的一个周期进行16点采样来获得离散信号。例如x=[5,4,3,2,1,0],表示x(1)=5,x(2)=4,x(3)=3,x(4)=2,x(5)=1,x(6)=0。一个连续的周期性锯齿波信号频率为10 Hz,信号幅度在-1 V到+1 V之间,在窗口上显示3个周期的信号波形,用FS=150 Hz的频率对连续信号进行采样。,x(5)=1,如图2-1所示。
2024-07-23 20:52:56
268
原创 计算机体系结构|| 再定序缓冲(ROB)原理(6)
(3)假设浮点功能部件的延迟时间为加减法 3 个时钟周期,乘法 8 个时钟周期,除法40个时钟周期。(1)假设浮点功能部件的延迟时间为加法2个时钟周期,乘法 10个时钟周期,除法40个时钟周期,Load 部件 2 个时钟周期。(5)给定被执行代码片段,对于具体某个时钟周期,能写出保留站ROB 以及浮点寄存器状态表内容的变化情况。一个时钟周期前后保留站、ROB 以及浮点寄存器状态表的内容的变化情况。③再步进5个时钟周期,给出这时保留站ROB 以及浮点寄存器状态表的内容。(2)加深对基于硬件的前瞻执行的理解。
2024-07-22 23:24:00
147
原创 计算机体系结构|| Tomasulo算法(5)
(3)假设浮点功能部件的延迟时间为加减法3个时钟周期,乘法8个时钟周期,除法40个时钟周期。浮点功能部件的延迟时间为加减法3个周期,乘法8个时钟周期,除法40个时钟周期,load部件2个时钟周期。假设浮点功能部件的延迟时间为加减法2个周期,乘法10个时钟周期,除法40个时钟周期,Load部件2个时钟周期。1)对于下面的代码段,给出当指令MUL.D写结果时,保留站、load缓冲器以及寄存器状态表中的内容。2)步进5个时钟周期,给出这时保留站、load缓冲器以及寄存器状态表中的内容。(5)掌握保留站的结构。
2024-07-22 23:14:35
331
原创 计算机体系结构||Cache性能分析(4)
FIFO算法按调入Cache的先后决定淘汰的顺序,选择最早调入Cache的字块进行替换,它不需要记录各字块的使用情况,比较容易实现,系统开销小,其缺点是可能会把一些需要经常使用的程序块(如循环程序)也作为最早进入Cache的块替换掉,而且没有根据访存的局部性原理,故不能提高Cache的命中率。(4)选择不同的Cache容量,包括2KB、4KB、8KB、16KB、32KB、64KB、128KB、256KB,分别执行模拟器(单击“执行到底”),在表4.1中记录各种情况下的不命中率。(2)选择一个地址流文件。
2024-07-21 12:37:27
1129
原创 计算机体系结构||指令的调度和延迟分布(3)
根据记录结果,对比了采用延迟分支和没采用延迟分支的性能。通过延迟分支,CPU能够在等待分支结果的同时继续执行后续指令,从而提高了指令级并行度,减少了性能损失。2.根据教材中关于流水线各段操作的描述,进一步理解流水线窗口中各段的功能,掌握各流水寄存器的含义(双击各段,就可以看到各流水寄存器的内容)。2)用MIPSsim的“文件”→“载入程序”选项来加载schedule.asm(在模拟器所在文件夹下的“样例程序”文件夹中)。2.根据记录结果,比较没采用延迟分支和采用了延迟分支的性能。1)启动MIPSsim。
2024-07-21 12:33:46
617
原创 计算机体系结构||流水线及流水线中的冲突(2)
可以先载入一个样例程序(在本模拟器所在的文件夹下的“样例程序”文件夹中),然后分别以单步执行一个周期、执行多个周期、连续执行、设置断点等的方式运行程序,观察程序的执行情况,观察 CPU 中寄存器和存储器的内容的变化,特别是流水寄存器内容的变化。③用单步执行一周期的方式(“执行”菜单中)或用 F7 键执行该程序,观察每一周期中,各段流水寄存器内容的变化、指令的执行情况(“代码”窗口),以及时钟周期图。⑤记录数据冲突引起的停顿时钟周期数以及程序执行的总时钟周期数,计算停顿时钟周期数占总执行周期数的百分比。
2024-07-20 23:42:43
741
原创 嵌入式||ADC程序设计(4)
学习利用LPC2138的ADC通道来采集外部的电压值,掌握LPC2138中ADC的配置与使用。预装了keil及proteus的PC机。
2024-07-15 11:06:42
440
原创 嵌入式|| GPIO程序设计(1)
GPIO是嵌入式控制器上一个很常见但又应用广泛的功能模块,它也是学习嵌入式控制器时必须要学习的第一个实验。学习GPIO的使用牵连到引脚连接模块的配置,故本实验需要同学掌握LPC2138微控制器引脚连接模块的配置和GPIO的控制。在Proteus仿真平台上,基于GPIO点灯demo示例并参考教材循环灯实例,结合流水灯模块和按键模块,实现流水灯显示实验。3.学习适用LPC2138的通用输入输出管脚直接控制外围设备的方法。2.掌握简单程序的输入、编辑、编译、运行、调试的方法与步骤。1.熟悉Keil5软件的使用。
2024-07-15 10:37:20
195
原创 如何用IDEA(2024版)从github上拉取一个项目
克隆完成后,IDEA 会自动打开项目。如果你之前没有打开任何项目,IDEA 会直接加载新克隆的项目。如果你已经有一个打开的项目,IDEA 会询问你是否要打开新的项目或者将其作为当前项目的一个模块。在欢迎屏幕上,你会看到几个选项,例如 “New Project”、“Open”、和“Get from Version Control”。但是,如果仓库没有这些配置文件,你可能需要手动设置项目 SDK 和其他项目设置。如果这是你第一次启动 IDEA 或者没有打开任何项目,它会显示一个欢迎屏幕。
2024-06-24 16:35:15
1177
原创 【高频】从准备更新一条数据到事务的提交的流程描述
一次SQL请求就会建立一个连接,多个请求就会建立多个连接,而web系统一般都是部署在tomcat容器中的,tomcat是可以并发处理多个请求的,这就会导致多个请求会去建立多个连接,再关闭,会大大降低系统的性能,因此采用数据库连接池进行连接。网络中的连接都是由线程来处理的,对于 SQL 语句的请求在 MySQL 中是由一个个的线程去处理的。Buffer Pool (缓冲池)是 InnoDB 存储引擎中非常重要的内存结构,顾名思义,缓冲池其实就是类似 Redis 一样的作用,起到一个缓存的作用。
2024-06-12 20:20:55
864
原创 MySQL之性能调优
想要发挥 MySQL 的最佳性能,需要遵循 3 个基本使用原则。让MySQL回归存储的基本职能:MySQL 数据库只用于数据的存储,不进行数据的复杂计算,不承载业务逻辑,确保存储和计算分离;查询数据时,尽量单表查询,减少跨库查询和多表关联;杜绝大事务、大 SQL、大批量、大字段等一系列性能杀手。大事务:运行步骤较多,涉及的表和字段较多,容易造成资源的争抢,甚至形成死锁。一旦事务回滚,会导致资源占用时间过长。
2024-06-12 10:23:10
1192
原创 哨兵机制(Redis Sentinel)常见面试题
哨兵机制(Redis Sentinel)是redis主从集群中实现主从库自动切换的关键机制。它通过监控、选主和通知三个任务来实现主从库的自动切换。在监控任务中,哨兵周期性地检测主从库的在线状态,判断主库是否处于下线状态。哨兵采用多实例组成的集群模式进行部署,以避免单个哨兵误判主库下线的情况。
2024-06-11 22:51:56
1160
原创 Cannot find a valid license key for ISIS Professional on this computer . this license Manager report
4.要完全卸载并同时删除注册表项,运行中输入:“regedit”,打开“HKEY_LOCAL_MACHINE\SOFTWARE\找到“Labcenter Electronics” 【:按下键盘上的“Win + R”组合键,打开“运行”对话框。在对话框中输入“regedit”,然后点击“确定”按钮,即可打开注册表编辑器。2.运行“编辑→查找”命令打开“查找”窗口,选择“项、值、数据”三个选项,再在“查找目标”中输入proteus,单击“查找”按钮进行查找.[注:一定要一直按“F3”继续查找]
2024-06-10 22:07:05
445
原创 未卸载干净的proteus安装教程7.8
2、以管理员身份运行软件后,默认的ISIS Professional路径是C:\Program Files \Labcenter Electronics\Proteus 7 Professional 你直接点击升级是肯定不能升级成功的!因为你根本没有选择一个正确的路径,实际细心的你们会发现proteus7.8的真正安装路径是C:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional (1、一定要以管理员身份运行软件。
2024-06-10 16:00:30
317
原创 【高频】如何优化一个SQL语句
尽量避免在循环中执行单条SQL查询,可以考虑批量操作或者使用连接查询来减少查询次数。:对于一些静态数据或者频繁查询的数据,可以考虑使用缓存来减少数据库的查询压力。:定期分析表的性能,重新构建索引、收集统计信息等,以保持查询性能。:确保查询中涉及的字段上有合适的索引,避免全表扫描。:在查询条件中避免对列进行函数操作,这会导致无法使用索引。:只选择需要的列,避免返回不必要的数据,可以减少IO开销。:合理设计表的结构,避免过度范式化,以减少连接操作。),因为这样的查询无法充分利用索引。
2024-06-07 22:17:50
321
原创 【高频】什么是索引的下推和覆盖
在MySQL的查询优化过程中,覆盖索引是一种常见的优化技术。覆盖索引指的是一个查询可以仅通过索引就能够返回所需的所有列,而无需再次到表中查找。【当sql语句的所求查询字段(select列)和查询条件字段(where子句)全都包含在一个索引中(联合索引),可以直接使用索引查询而不需要回表。传统的索引通常只包含关键字和指向实际数据的指针,因此在查找时需要再次到表中进行查找,以获取其他列的数据。而覆盖索引则将覆盖列也包含进了索引中,可以直接从索引中返回所有需要的列,从而避免二次查找的开销,提高了查询效率。
2024-06-07 21:27:14
1206
原创 [高频]Linux中常见的命令及常见面试题
Shell 是 Linux 系统的命令解释器,Shell 脚本编程是通过编写一系列命令来实现自动化任务,比如批量处理文件、执行系统管理任务等。16.Linux 中的定时任务是如何实现的?18.Linux 系统中的 log 文件存放在哪里?13.Linux 下常见的压缩和解压缩命令有哪些?6.如何查看 Linux 系统的版本信息?常用的系统查看命令有哪些?7.Linux 下文件与文件夹的权限是如何设置的?12.如何查看 Linux 系统的网络配置信息?11.Linux 中的软链接和硬链接有什么区别?
2024-06-06 16:50:24
555
原创 什么是阻塞IO和非阻塞IO
NIO是为了弥补传统IO的不足而诞生的,NIO也有缺点,因为NIO是面向缓冲区的操作,每一次的数据处理都是对缓冲区进行的,在数据处理之前必须要判断缓冲区的数据是否完整或者已经读取完毕,如果没有,假设只读取了一部分,那么对不完整的数据处理没有任何意义。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率较高。:一个应用程序执行I/O操作时,会被阻塞,直到数据准备好或操作完成。应用程序发起一个 I/O 操作后,可以继续执行其他操作,当 I/O 操作完成时会通知应用程序。
2024-06-06 15:27:28
693
原创 【高频】你了解乐观锁和悲观锁吗?
问题:指的是,线程拿到了最初的预期原值A,然而在将要进行CAS的时候,被其他线程抢占了执行权,把此值从A变成了B,然后其他线程又把此值从B变成A,然而此时的 A 值已经并非原来的 A 值了,但最初的线程并不知道这个情况,在它进行 CAS 的时候,就会误认为它从来没有被修改过,只对比了预期原值为 A 就进行了修改,这就造成了 ABA 的问题。悲观锁的实现方式是加锁,加锁既可以是对代码块加锁(synchronized关键字、ReentrantLock),也可以是对数据加锁(MySQL中的排它锁)。
2024-06-05 17:01:24
1282
原创 【面经】亚信科技面试问题合集
索引的本质是一种数据结构,它通过存储数据的排序顺序或者哈希值来加速数据的查找。使用分段锁(Segment)来确保线程安全,每个 Segment 有自己的锁,不同 Segment 的数据修改操作可以并发进行,提高了并发性能。Java反射是一种机制,允许程序在运行时检查和操作类、对象、方法等的信息,可以通过反射获得类的构造器、字段、方法等信息,并动态调用它们。当表索引数据量大时,可以考虑对索引进行优化,使用合适的数据类型、调整索引顺序、添加覆盖索引或者使用分区表等方式来提升查询性能。
2024-06-05 16:26:45
1199
1
原创 Thread Local六连问,你扛得住吗?
ThreadLocal 可以用来存储当前线程的事务上下文,保证每个线程都能够独立地获取自己的事务上下文,而不会影响其他线程的事务操作。,它的泛型类型是 Integer。然后创建了两个线程,并分别启动它们。ThreadLocal 可以用来存储线程私有的对象实例,每个线程都可以独立地访问自己的对象实例,而不会受到其他线程的影响。当使用ThreadLocal维护变量时,ThreadLocal为每个使用该变量的线程提供独立的变量副本,所以每个线程都可以独立地改变自己的副本,而不影响其他线程,做到了线程隔离。
2024-06-04 22:17:56
681
原创 InnoDB-MVCC多版本控制详解
MVCC,全称Multi-Version Concurrency Control,即多版本并发控制。MVCC是一种并发控制的方法,一般在数据库系统中,实现对数据库的并发访问,在编程语言中实现事务内存。【MVCC在MySQL InnoDB中的实现主要是为了提高数据库并发性能,用更好的方式去处理读-写冲突,做到即使有读写冲突,也能做到不加锁,非阻塞并发读】
2024-06-04 17:36:11
620
原创 spring事务类型,事务传递,隔离级别?
在 Java 中,事务传递是指在多个事务嵌套执行的过程中,事务如何传递和处理。当一个方法调用另外一个方法时,如果这些方法都使用了事务,那么这些事务可能会被合并为一个大的事务,也可能会出现不同的嵌套级别。Spring中默认的事务传递行为是required,如果当前存在事务,则加入该事务;这是 Spring 中的事务传播行为类型,用于控制在一个事务方法调用另一个事务方法时,事务应该如何传播。:新建一个全新的事务,并且暂停当前事务,直到新建的事务完成。:以非事务方式执行操作,如果当前存在事务,则挂起该事务。
2024-06-03 19:21:02
323
原创 RocketMQ相关知识知多少
领域模型概述 | RocketMQApache RocketMQ 自诞生以来,因其架构简单、业务功能丰富、具备极强可扩展性等特点被众多企业开发者以及云厂商广泛采用。历经十余年的大规模场景打磨,RocketMQ 已经成为业内共识的金融级可靠业务消息首选方案,被广泛应用于互联网、大数据、移动互联网、物联网等领域的业务场景。【RocketMQ是一个队列模型的消息中间件,具有高性能、高可靠、高实时、分布式的特点,是采用java语言开发的分布式的消息系统。
2024-06-03 19:15:46
802
原创 【高频】如何保证缓存和数据库一致
缓存与数据库的数据一致性指的是,缓存中存储的数据与数据库中存储的数据需保持一致。即缓存中存有数据,缓存的数据值 = 数据库中的值;缓存中没有该数据,数据库中的值 = 最新值。缓存中有数据,那么缓存中的值需要和数据库中值相同。缓存中本身没有数据,那么,数据库中的值必须是最新值。缓存中有数据,但是缓存中的数据与数据库中的数据不一致。缓存或者数据库中存在旧的数据,导致单个线程读到的数据是旧的。
2024-05-30 22:53:48
1110
1
原创 Java中的ORM框架——myBatis
ORM 的全称是。Object代表应用程序中的对象,Relational表示的是关系型数据库,Mapping即是映射。结合起来就是在程序中的对象和关系型数据库之间建立映射关系,这样就可以用面向对象的方式,方便快捷地操作数据。ORM 框架是一种数据持久化技术,即在对象模型和关系型数据库之间建立起对应关系,并且提供一种机制,可通过 JavaBean 对象操作数据库表中的数据。
2024-05-29 22:22:51
1050
原创 【高频】redis快的原因
相关问题:1.为什么Redis能够如此快速地进行数据存储和检索?2.Redis作为内存数据库,其内存存储有什么优势吗?3.Redis的网络模型有何特点,如何帮助提升性能?
2024-05-29 22:11:47
1554
原创 get和post的区别,二者是幂等的吗?
所谓幂等性通俗的将就是一次请求和多次请求同一个资源产生相同的副作用。维基百科定义:幂等(idempotent、idempotence)是一个数学与计算机学概念,常见于抽象代数中。在编程中一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。幂等函数,或幂等方法,是指可以使用相同参数重复执行,并能获得相同结果的函数。这些函数不会影响系统状态,也不用担心重复执行会对系统造成改变。
2024-05-24 23:03:08
1095
原创 【高频】从输入URL到页面展示到底发生了什么?
浏览器输入美团网站,从回车到浏览器展示经历了哪些过程?http输入网页之后的流程?百度搜索页面,从点开搜索框,到显示搜索页面经历了什么?
2024-05-24 22:46:41
1155
原创 说说什么是AOP,以及AOP的具体实现场景(外卖中应用)
面向切面编程,是面向对象编程(OOP)的一种增强模式,可以将项目中与业务无关的,却为业务模块所共同调用的非核心代码封装成(比如事务管理、日志管理、权限控制等等)一个个切面,然后在运行的时候通过动态代理或者CGLib代理的方式织入到核心业务功能中。场景四: 缓存优化 (第一次调用查询数据库,将查询结果放入内存对象, 第二次调用, 直接从内存对象返回,不需要查询数据库 )【总结:AOP就是基础代码的增强,将非核心的代码抽取出来,封装成切面,进行复用】场景二: 监控方法运行时间 (监控性能)
2024-05-23 23:10:41
414
原创 事务的ACID是什么及扁平化事务、链式事务
1.事务(Transaction)是区别于数据库文件系统的重要特性之一。事务会把数据库从一种一致状态转换为另一种一致状态。在数据库提交工作时,可以确保要么所有修改都已经保存,要么所有修改都不保存。2.InnoDB存储引擎中的事物完全符合ACID的特性。原子性(atomicity)一致性(consistency)隔离性(isolation)持久性(duration)3.事务是访问并更新数据库中各种数据项的一个程序执行单元。在事务中的操作,要么都做修改,要么都不做,这就是事物的目的。
2024-05-23 22:55:10
738
原创 缓存三问与缓存预热-如何预防缓存崩溃
缓存预热是一种在应用程序启动或缓存失效之后,主动将热点数据加载到缓存中的策略。时,如果此时有大量的用户请求,都无法在 Redis 中处理,于是全部请求都直接访问数据库,从而导致数据库的压力骤增,严重的会造成数据库宕机,从而形成一系列连锁反应,造成整个系统崩溃,这就是。,导致请求在访问缓存时,发现缓存缺失,再去访问数据库时,发现数据库中也没有要访问的数据,没办法构建缓存数据,来服务后续的请求。了,此时大量的请求访问了该热点数据,就无法从缓存中读取,直接访问数据库,数据库很容易就被高并发的请求冲垮,这就是。
2024-05-21 16:04:28
950
原创 深入了解布隆过滤器:数据筛选的利器
布隆过滤器(英语:Bloom Filter)是1970年由伯顿·霍华德·布隆(Burton Howard Bloom)提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都远远超过一般的算法,缺点是有一定的误识别率和删除困难。如果布隆过滤器判断元素在集合中存在, 不一定存在.如果布隆过滤器判断不存在, 则一定不存在.
2024-05-21 15:16:37
707
原创 十大排序算法(java实现)
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。【冒泡、插入、选择、、归并排序面试中出现概率极高】
2024-05-10 21:51:01
970
原创 Failed to load local image resource Xx the server responded with a status of of 500 (HTTP/1.1 500)
4.比如images是图片目录,必须把它放置在和pages(系统设定的页面目录)同级的位置;如果images和项目的根目录同级,就无法加载images中的图片。【其实看似是很小的问题,因为初学就会发生各种意想不到的错误,因此细心多检查就行】3.错误写法: imgSrc: 'img\首页1.png' ,正确写法:imgSrc: '/img/首页1.png'1.直接使用../lutos.jpg 在使用相对路径时,看似没有太大问题,但是文件夹层数过多,也会报错。
2024-04-20 17:37:33
402
原创 关于如何打开IIS管理器
在进行web实验时,通过“选择”——“控制面板”——“系统和安全”——“管理工具”——“Internet信息服务(IIS)管理器”命令,无法正确找到IIS管理器。
2024-04-19 13:09:25
1192
人力资源管理系统(Vue、SpringBoot和MyBatis-Plus等)
2024-02-04
可视化程序设计(内含源代码)
2024-02-04
单片机教程与设计(实验报告)
2024-02-04
客房订阅管理系统课程设计(内含源代码)
2024-02-04
编译原理教程的实验报告
2024-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人