操作系统期末复习-内存管理

news2024/12/24 2:51:36

一、内存管理

分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame),

 缺页中断处理是操作系统中的一种异常情况处理方式,用于处理程序访问不存在或者未分配的内存页的情况。产生缺页中断请求调页

由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。 

常规存储器管理方式的特征

  • 一次性。  
  •  驻留性。 

 虚拟存储器的特征

  • 多次性  
  • 对换性
  •  虚拟性

 1.(单选题, 0.5分)在虚拟分页存储管理系统中,若进程访间的页面不在主存,且主存中没有可用的空闲帧时,系统正确的处理顺序为( )。

  • A. 缺页中断→決定淘汰页→页面调出→页面调入
  • B. 缺页中断→决定淘汰页→页面调入→页面调出
  • C. 决定淘汰页→页面调入→缺页中断→页面调出
  • D. 決定淘汰页→页面调出→缺页中断→页面调入

在虚拟分页存储管理系统中,如果进程访问的页面不在主存中,并且主存中没有可用的空闲帧,会发生缺页中断。系统接着会决定淘汰哪一页来腾出空闲帧。然后,系统会将要调入的页面从外存中调入到主存中,然后将要调出的页面从主存中调出到外存中。因此,正确的处理顺序是缺页中断→决定淘汰页→页面调出→页面调入 

2. (单选题)解决“碎片”问题最好的存储管理方法是___________。

  • A. 页式管理
  • B. 可变分区管理
  • C. 段式管理
  • D. 固定分区管理

页式管理是最有效的解决碎片方式,它将内存划分为固定大小的页,每个页的大小通常与计算机系统的页面大小相同。这样,内部碎片最多也只会有一个页有内部碎片,而外部碎片可能大到无法分配一块大数据(但是把所有间隙都拼接在一起可以分配这个大数据),所以分页解决碎片最好。

  • 页式管理是一种内存管理方式,它将内存划分为固定大小的页,每个页的大小通常与计算机系统的页面大小相同。页式管理的优点是易于实现和理解,但缺点是内存利用率较低,因为只有当程序运行到一个完整的页时,才能将其全部装入内存。

  • 可变分区管理是一种内存管理方式,它允许操作系统根据需要动态地改变进程的存储空间大小。这种管理方式的优点是可以提高内存的利用率,但缺点是实现起来较为复杂,需要额外的硬件支持。

  • 段式管理是一种更复杂的内存管理方式,它将内存划分为多个逻辑段,每个段可以包含不同的类型和大小的数据。段式管理的优点是可以更好地满足程序的存储需求,但缺点是实现起来更为复杂。

  • 固定分区管理是一种最简单的内存管理方式,它将内存划分为固定大小的分区,每个分区只能分配给一个进程使用。这种管理方式的优点是简单易懂,但缺点是内存利用率较低。

补充

(单选题)采用紧凑法消除碎片的存储方法是( )。

  • A. 可重定位分区
  • B. 固定分区
  • C. 对换
  • D. 动态分区

采用紧凑法消除碎片的存储方法是动态分区。这种方法可以在程序执行过程中不立即回收用户释放的存储块,而是等到可利用空间不足或堆指针指向了可利用存储区的最高地址时才进行存储紧缩。具体来说,解决碎片问题的方法是拼接,即当无法分配内存时,向一个方向(例如向低地址端)移动已分配的作业,使那些零碎的小空闲区在另一个方向连成一片,形成连续区域。

补充

可重定位内存分区分配目的为____。

  • A. 回收空白区方便
  • B. 解决碎片问题
  • C. 摆脱用户干预
  • D. 便于多作业共享内存

解析:可重定位内存分区分配的主要目的是将内存中执行的程序集中,从而避免浪费内存。这种分配方式可以更好地利用内存空间,但需要注意的是,由于一个进程可能被分配到多个不连续的区域,所以需要进行地址重定位,这会增加系统的开销。

空白区是指没有被分配给进程使用的内存区域。这些区域可能由于内存碎片等原因而无法被利用。可重定位内存分区分配的主要目的是将内存中执行的程序集中,从而避免浪费内存。 

3. (单选题)在页式分配中,CPU从内存中取一次数据需要( )次访问内存。

  • A. 1
  • B. 3
  • C. 根据数据量决定
  • D. 2

 在页式分配中,CPU从内存中取一次数据需要两次访问内存。第一次是从内存中找到页表,然后找到页面的物理块号,加上页内偏移得到实际物理地址;第二次根据第一次得到的物理地址访问内存取出数据。

补充

 (单选题)在段页式管理中,每取一次数据,要访问( )次内存。

  • A. 2
  • B. 4
  • C. 1
  • D. 3

在段页式存储管理中,每取一次数据需要访问内存三次。首次访问内存中的段表,以查找到页表的起始地址;第二次访问内存中的页表,找到页帧号,形成物理地址;第三次得到物理地址后,再次访问内存,进行指令或数据的存取。

4. (单选题)在动态分区分配方案中,某一作业完成后,系统收回其主存空间,并与相邻空闲区合并,为此需修改空闲区表,造成空闲区数减1的情况是( )。

  • A. 有下邻空闲区,但无上邻空闲区
  • B. 有上邻空闲区,也有下邻空闲区
  • C. 无上邻空闲区,也无下邻空闲区
  • D. 有上邻空闲区,但无下邻空闲区

 在动态分区分配方案中,当某一作业完成后,系统会收回其主存空间,并与相邻空闲区合并。如果有上邻空闲区和下邻空闲区,那么合并后,空闲区数会减2(因为原来的两个空闲区变成了一个)。

5.(单选题)在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与相邻空闲区合并,修改空闲区表,使空闲区数加1的情况是( )。

  • A. 有上邻空闲区无下邻空闲区
  • B. 有下邻空闲区无上邻空闲区
  • C. 有上邻空闲区有下邻空闲区
  • D. 无上邻空闲区无下邻空闲区

6.在可变分区分配中,首次适应分配算法要求对空闲区表项按_______排列。

  • A. 尺寸从大到小
  • B. 地址从小到大
  • C. 地址从大到小
  • D. 尺寸从小到大

在可变分区分配中,首次适应分配算法总是顺序查找未分配表,直到找到第一个满足长度要求的空闲区。因此,空闲区表项需要按地址从小到大排列。

补充分区管理中采用“最佳适应”分配算法时,宜把空闲区按( )次序登记在空闲区

  • A. 地址递减
  • B. 地址递增
  • C. 大小递减
  • D. 大小递增

在分区管理中,当采用“最佳适应”分配算法时,宜把空闲区按大小递增次序登记在空闲区表中。这是因为最佳适应算法会从最小的空闲区开始查找,以满足内存需求。

补充

(单选题)动态分区存储管理方法采用最坏适应分配算法时,将空闲区按______顺序登记到空闲区表中。

  • A. 地址递减
  • B. 容量递减
  • C. 地址递增
  • D. 容量递增

在进行动态分区存储管理时,最坏适应分配算法会选择最大的空闲区进行分配。因此,在将空闲区登记到空闲区表时,需要按照容量递减的顺序进行排序。这样,最坏适应算法可以找到满足作业要求的足够大的空闲区,避免因为选择较小的空闲区而导致的不连续碎片问题,

 7.以下页面置换算法中,( )可能会产生Belady现象。

  • A. 时钟置换算法
  • B. 最近最久未使用算法
  • C. 最佳置换算法
  • D. 先进先出算法

 Belady现象指的是在页面置换算法中,增加物理页面数并不一定能够减少页面缺失次数的现象。

在页面置换算法中,当物理页面数不足时,会发生页面置换,将物理页面中的某一页替换出去,然后将新的页面调入物理页面中。

Belady现象的发生是指,当物理页面数增加时,页面置换算法的性能反而变差,即页面缺失次数反而增加。

这个现象在FIFO(先进先出)页面置换算法中特别明显。

 8.(单选题, 0.5分)在存储管理中,把目标程序中的逻辑地址转换成主存空间的物理地址的过程称为 ( )。

  • A. 程序移动
  • B. 地址重定位
  • C. 存储分配
  • D. 地址保护

 在存储管理中,把目标程序中的逻辑地址转换成主存空间的物理地址的过程称为地址重定位。这个过程是通过使用页表来实现的,页表的作用就是实现从页号到物理块号的地址映射。

补充

 (单选题)若操作系统使用( )技术,目标程序可不经任何改动而装入物理内存。

  • A. 静态重定位
  • B. 存储扩充
  • C. 动态重定位
  • D. 编译或汇编

9.(单选题)支持程序浮动的地址转换机制是( )。

  • A. 静态重定位
  • B. 段式地址转换
  • C. 页式地址转换
  • D. 动态重定位

支持程序浮动的地址转换机制是动态重定位。这是因为在程序执行期间,随着每条指令或数据的访问,它需要自动进行地址转换。与此不同的是,静态重定位是一种不支持程序浮动的地址转换机制,它在程序执行前由连接装入程序实现逻辑地址到物理地址的转换。而页式地址转换、段式地址转换和段页式地址转换等都是进程在运行过程中完成的地址重定位,它们都属于“动态重定位”的范畴。

 10.(单选题)在段页式存储管理中,地址映像表是( )。

  • A. 每个作业或进程的一张段表、每个段一张页表
  • B. 每个作业或进程的每个段一张段表、一张页表
  • C. 每个作业或进程的一张段表、两张页表
  • D. 每个作业或进程的一张页表,每个段一张段表

在段页式存储管理中,地址映像表是由每个作业或进程的一张段表和每张段对应的一张页表组成的。

11.分页式存储管理系统中的分页是由( )完成的。

  • A. 系统和用户
  • B. 用户
  • C. 不确定
  • D. 系统

分页式存储管理系统中的分页是由操作系统完成的。具体来说,操作系统会将内存空间分为一个个大小相等的分区,称为“页框”,并将用户进程的地址空间也分为与页框大小相等的一个个区域,称为“页”或“页面”。每个页面有一个编号,即“页号”,页号也是从0开始。操作系统以页框为单位为各个进程分配内存空间。这种管理对于上层用户和应用程序都是完全透明的,应用程序的开发者看到的只是一段连续的地址空间罢了,是看不到具体的内存页的

12.(单选题)在下列有关请求分页存储管理的叙述中,正确的是____。

  • A. 程序和数据是在程序开始执行前一次性装入内存的
  • B. 产生缺页中断一定要淘汰内存中的一个页面
  • C. 一个淘汰的页面一定要写回辅存
  • D. 在页表中要有“中断位”、“访问位”等信息

 解析:

A.在请求分页存储管理中,程序和数据并不是在程序开始执行前一次性装入内存的,而是在运行过程中根据需要动态地装入或替换。

B.产生缺页中断并不一定要淘汰内存中的一个页面,有时也可以将新页面暂时调入到内存的某个区域。

C.一个淘汰的页面也不一定需要写回辅存,如果该页面被频繁访问,那么就没有必要写回辅存。

D.而在页表中确实需要有“中断位”、“访问位”等信息,这些信息用于记录页面的使用情况和状态,以便于操作系统进行页面调度和管理。

辅存,也被称为外部存储器,是计算机中的一种重要组件,用于存储大量的数据和程序,以便长期保存和备份。常见的辅助存储设备包括硬盘、光盘、U盘等。它们的共同特点是存储容量大,价格相对较低,可以永久地保存信息,尽管读取速度相对较慢。当内存空间不足时,操作系统需要根据设定的置换算法选择一页进行换出。如果被换出的页面在最近一段时间内没有被修改过,那么这个页面就没有必要写回辅存。但是,一旦这个页面被修改过,为了保持数据的一致性,它必须被写回到辅存中。然后再把所缺的页调入内存,并修改对应的页表。 

13.(单选题)在虚拟内存管理中,地址变换机构将逻辑地址变换为物理地址,形成该物理地址的阶段是( )。

  • A. 装载
  • B. 源代码编辑
  • C. 链接
  • D. 运行

14.(单选题)关于存储器管理,以下说法错误的是( )。

  • A. 覆盖、交换、请求式调入和预调入都是操作系统控制内、外存数据流动的方式。
  • B. 虚拟存储器是由指令的寻址方式所决定的进程寻址空间,由内外存共同组成。
  • C. 内存分配算法中,首次适应法搜索速度最快,最坏适应法保留的空闲区较大。
  • D. 内存信息保护方法有:上下界保护法、保护键法等

 内存分配算法主要有以下几种:首次适应算法、循环首次适应算法、最佳适应算法和最坏适应算法。首次适应算法是将进程放入内存的首个可用分区中,因此搜索速度较快;循环首次适应算法则是在满足条件的分区形成循环时,将进程放入下一个可用分区中;最佳适应算法是将进程放入能满足其要求的最小分区中,从而保留了大的空闲区;而最坏适应算法是将进程放入最大的可用分区中,它可能会导致大内存碎片的产生。

是错误的。因为首次适应算法搜索速度并不是最快,而是最坏适应法的搜索速度最快。

15. (单选题)在请求分页系统中, 页面分配策略与页面置换策略不能组合使用的是(   )。

  • A. 动态分配,全局置换
  • B. 静态分配,局部置换
  • C. 静态分配,全局置换
  • D. 动态分配,局部置换

在请求分页系统中,静态分配和全局置换是不能组合使用的。静态分配是指在程序运行前就确定了页面的分配,而全局置换是在程序运行过程中根据需要动态地进行页面的分配和置换。这两种策略在实际应用中可能会导致系统性能下降,因此它们不能同时使用。 

16.采用段式存储管理时,一个程序如何分段是在( )决定的。

  • A. 分配主存
  • B. 程序执行时
  • C. 用户编程时
  • D. 装作业时

 采用段式存储管理时,一个程序如何分段是由用户编程时决定的。因为在编程时,程序员需要根据程序的结构和逻辑来划分各个部分,以便在运行时能够正确地访问和处理这些数据。

17. (单选题)下面关于虚存的说法正确的是(   )。

  • A. 作业在运行前不必全部装入内存,但在运行期间必须一直驻留在内存
  • B. 作业在运行前必须全部装入内存,并且在运行期间必须一直驻留在内存
  • C. 作业在运行前必须全部装入内存,但在运行期间不必一直驻留在内存
  • D. 作业在运行前不必全部装入内存,并且在运行期间不必一直驻留在内存

18. (单选题)当系统发生抖动(thrashing)时,可以采取的有效措施是(   )。 I. 撤销部分进程 II. 增加磁盘交换区的容量 III.提高用户进程的优先级

  • A. 仅I 、II
  • B. 仅I   
  • C. 仅II 
  • D. 仅III  

 抖动现象是指在内存紧张的情况下,频繁地换出和换入进程,导致系统效率降低。因此,撤销部分进程可以有效地减少内存的使用,从而避免抖动现象的发生。增加磁盘交换区的容量和提高用户进程的优先级并不能直接解决抖动问题。

19.(单选题)通常所说的"存储保护"的基本含义是________。

  • A. 防止程序被人偷看
  • B. 防止程序间相互越界访问
  • C. 防止程序在内存丢失
  • D. 防止存储器硬件受损

 存储保护的基本含义是防止程序间相互越界访问。这是因为在计算机系统中,每个程序都有自己的运行空间,如果两个程序同时访问同一个内存地址,可能会导致数据混乱或者程序崩溃。因此,需要通过存储保护机制来防止这种情况的发生。

 20.(单选题)______存储管理方式提供一维地址结构

  • A. 段页式
  • B. 分段和段页式
  • C. 分段
  • D. 分页

A. 段页式存储管理方式结合了分段和分页两种方法,它充分利用分段管理和分页管理的优点。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。因此,段页式存储管理方式提供了二维的地址结构。

B. 分段和段页式存储管理方式都提供二维的地址结构。在分段存储管理中,程序的地址空间按逻辑单位分成基本独立的段,每一段有自己的段名。而在段页式存储管理中,程序的地址空间先按逻辑单位分成基本独立的段,再把每一段分成固定大小的若干页。

C. 分段存储管理方式提供二维的地址结构,程序的地址空间按逻辑单位分成基本独立的段,每一段有自己的段名。

D. 只有分页存储管理方式提供一维地址结构,它是一种基于内存块的内存管理方法,每个进程以块为单位进行划分,进程在执行时,以块为单位逐个申请主存中地块空间。

21.(单选题)在段式分配中,若段内逻辑地址大于段表中该段的段长,则发生________。

  • A. 地址越界中断
  • B. 缺页中断
  • C. 软中断
  • D. I/O中断

 在段式存储管理中,逻辑地址由段号和段内地址两部分组成。若段内逻辑地址大于段表中该段的段长,意味着访问越界了,因此会发生地址越界中断。这是为了保护系统的安全,防止程序访问不应该访问的内存空间。

22. (判断题)采用分段式存储管理不会产生内部碎片。 ( )

  • A. 对
  • B. 错

 采用分段式存储管理不会生成内部碎片。因为在分段式存储管理方法中,一个作业的地址空间被划分为多个逻辑信息段,每个段都从0开始编址并且使用一段连续的地址空间。因此,各个段之间的空闲内存无法被利用,从而可能导致外部碎片的产生。但是相对于其他存储管理方式,如分页式存储管理和固定分区式存储管理,分段式存储管理的优点在于其不会产生内部碎片。

23.(判断题)可变式分区解决了碎片问题。( )

  • A. 对
  • B. 错

可变式分区是一种内存管理方式,用户在申请内存空间时,系统会根据用户的需求分配相应大小的内存空间。这种方式克服了固定分区方式中可能出现的内存浪费问题,并且解决了内部碎片的问题。然而,它并未解决外部碎片的问题。因为在动态分区过程中,由于分区数量的不确定性,有可能会产生一些较小的空闲分区,这些小的空闲分区无法被利用,从而形成了外部碎 

 23.(判断题)固定分区存储管理的各分区的大小可变化,这种管理方式不适合多道程序设计系统。

  • A. 对
  • B. 错

固定分区存储管理的各分区的大小是固定的,这种管理方式适合多道程序设计系统。因为在多道程序设计系统中,各个程序需要共享内存资源,如果分区大小可变,可能导致不同程序之间的内存访问冲突。而固定分区存储管理可以确保每个程序都有足够的内存空间,从而避免内存访问冲突。

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

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

相关文章

直线追踪

由于项目的需要,最近在做一个直线追踪的东西,但是网上的代码关于车道线或者别的什么之类的直线追踪的代码只是提了一下,相关的代码并不是公开的,所以自己写了一些直线追踪的代码。 代码使用的是kalman滤波进行直线追踪&#xff0…

完美解决labelimg xml转可视化中文乱码问题,不用matplotlib

背景简述 我们有一批标注项目要转可视化,因为之前没有做过,然后网上随意找了一段代码测试完美(并没有)搞定,开始疯狂标注,当真正要转的时候傻眼了,因为测试的时候用的是英文标签,实…

Sci. Rep. | 一个对任意分子体系实现准确且高效几何深度学习的通用框架

这篇工作是来自纽约城市大学/康奈尔医学院谢磊团队的一篇论文。作者提出了一个通用框架,PAMNet,可以对任意分子体系实现准确且高效的几何深度学习。在小分子性质、RNA三维结构以及蛋白质-配体结合亲和力的预测任务上,PAMNet在准确性和效率方面…

网络编程-认识套接字socket

文章目录 套接字概念端口号网络字节序 套接字类型流套接字数据报套接字 socket常见APIsocket函数bind函数listen函数accept函数connect函数sockaddr结构 套接字概念 socket套接字是进程之间一种通信机制,通过套接字可以在不同进程之间进行数据交流。在TCP/UDP中&…

将html的radio单选框自定义样式为正方形和对号

将html的radio单选框自定义样式为正方形和对号 背景&#xff1a; 如何能把html的<input type"radio" name"option">改成自定义的样式呢&#xff1f;比如想要把他变成正方形&#xff0c;选中的时候是对号。默认的样式太丑了 默认样式&#xff1a; 自…

[数学]三角形的五心之内心

三角形内心的性质 三角形内切圆的圆心称为三角形的内心。内心也是三角形三个角的角平分线的交点 性质1 1.1 设 I I I为 △ A B C △ABC △ABC内一点&#xff0c;则 I I I为 △ A B C △ABC △ABC内心的充要条件是下列条件之一&#xff1a; 1.1.1 I I I到 △ A B C △ABC △…

【C语言】RDMACM、Verbs API与epoll一起使用的示例

一、epoll介绍 epoll是Linux内核为处理大批量文件描述符而作了改进的poll&#xff0c;是Linux下多路复用IO接口select/poll的增强版本&#xff0c;它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。 以下是epoll的主要使用方法和优点&#xff1a; epo…

代码随想录刷题题Day15

刷题的第十五天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day15 任务 ● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序遍历…

整理了上百个开源中文大语言模型,涵盖模型、应用、数据集、微调、部署、评测

自ChatGPT为代表的大语言模型&#xff08;Large Language Model, LLM&#xff09;出现以后&#xff0c;由于其惊人的类通用人工智能&#xff08;AGI&#xff09;的能力&#xff0c;掀起了新一轮自然语言处理领域的研究和应用的浪潮。 尤其是以ChatGLM、LLaMA等平民玩家都能跑起…

广州华锐互动:汽车电子线束加工VR仿真培训与实际生产场景相结合,提高培训效果

随着科技的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术已经逐渐渗透到各个领域&#xff0c;为企业和个人带来了前所未有的便利。在汽车制造行业中&#xff0c;线束加工作为一项关键的生产工艺&#xff0c;其质量直接影响到汽车的性能和安全。因此&#xff0c;…

LCR 181. 字符串中的单词反转

解题思路&#xff1a; class Solution {public String reverseMessage(String message) {message message.trim(); // 删除首尾空格int j message.length() - 1, i j;StringBuilder res new StringBuilder();while (i > 0) {while (i >…

局域网环境下的ntp对时

服务端&#xff1a; 此处为v4-sp4服务器 安装ntp&#xff0c;apt-get install ntp -y ,若为离线环境&#xff0c;则安装ntp和libopts25两个包。 配置&#xff1a; 在/etc/ntp.conf的配置文件里 加入 restrict default nomodify notrap noquery restrict 127.0.0.1 rest…

时序预测 | Python实现GRU-XGBoost组合模型电力需求预测

时序预测 | Python实现GRU-XGBoost组合模型电力需求预测 目录 时序预测 | Python实现GRU-XGBoost组合模型电力需求预测预测效果基本描述程序设计参考资料预测效果 基本描述 该数据集因其每小时的用电量数据以及 TSO 对消耗和定价的相应预测而值得注意,从而可以将预期预测与当前…

【IDEA】关于快捷键行注释时会从行首开始注释

前言 每次在使用IDEA写代码时&#xff0c;用快捷键进行行注释的时候&#xff0c;//会处于行首位置 但是我们想要的是这种注释效果 修改 IDEA中打开settings 找到Editor - Code Style- Java - 找到Code Genneration&#xff0c;取消勾选Line comment at first column&#x…

如何批量获取CSDN文章数据并进行持久化

自己去看文章数据的话&#xff0c;比较慢&#xff0c;所以一直想通过程序来批量获取CSDN的文章数据&#xff0c;最近研究了一下&#xff0c;发现还是挺简单的&#xff0c;能够直接通过解析json来获取文章数据&#xff0c;跟大家分享一下。 文章目录 一、步骤1、首先我们到自己的…

VUE学习三、前端项目部署

1.前端项目打包 执行命令 npm run build:prod正常命令结束 , 会在前端项目里面出现dist文件夹 2.nginx下载安装 nginx下载 : http://nginx.org/en/download.html Windows 下载版本 Mainline version&#xff1a;Mainline 是 Nginx 目前主力在做的版本&#xff0c;可以说…

【手撕算法系列】BN

BN的计算公式 BN中均值与方差的计算 所以对于输入x: b,c,h,w 则 mean: 1,c,1,1var: 1,c,1,1代码 class BatchNorm(nn.Module):def __init__(self, num_features, num_dims):# num_features&#xff1a;完全连接层的输出数量或卷积层的输出通道数。# num_dims&#xff1a;2表示…

【JavaEE】多线程(4) -- 单例模式

目录 什么是设计模式? 1.饿汉模式 2.懒汉模式 线程安全问题 什么是设计模式? 设计模式好⽐象棋中的 "棋谱". 红⽅当头炮, ⿊⽅⻢来跳. 针对红⽅的⼀些⾛法, ⿊⽅应招的时候有⼀ 些固定的套路. 按照套路来⾛局势就不会吃亏. 软件开发中也有很多常⻅的 "问题…

接口优先于反射机制

在Java中&#xff0c;使用接口通常比反射机制更为优雅和安全。接口提供了一种声明性的方式来定义类的契约&#xff0c;并且能够在编译时进行类型检查&#xff0c;而反射则是在运行时动态获取和操作类的信息。下面是一个简单的例子&#xff0c;说明为什么在某些情况下接口比反射…