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

云计算基础,虚拟化原理

文章目录

  • 一、虚拟化
    • 1.1 什么是虚拟化
    • 1.2 虚拟化类型
  • 二 、存储虚拟化
    • 2.1 存储指标
    • 2.2 存储类型
    • 2.3 存储协议
    • 2.4 RAID
  • 三、内存 i/O虚拟化
    • 3.1 内存虚拟化
      • 基本概念
      • 地址空间转换原理
      • 内存共享与隔离原理
    • 3.2 I/O 虚拟化
      • 基本概念
      • 模拟(Emulation)方式
      • 半虚拟化(Para - virtualization)方式
      • 硬件辅助 I/O 虚拟化(Hardware - Assisted I/O Virtualization)方式
  • 四、网络虚拟化
  • 五、为什么虚拟化
    • 为什么
    • 发展趋势:`


一、虚拟化

1.1 什么是虚拟化

在这里插入图片描述
资源池化
在这里插入图片描述
在这里插入图片描述

1.2 虚拟化类型

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

二 、存储虚拟化

2.1 存储指标

在这里插入图片描述

IOPS(Input/Output Operations Per Second)

定义:IOPS 是指每秒进行的输入 /输出操作次数。
它主要用于衡量存储设备(如硬盘、固态硬盘等)在单位时间内能够处理的读写操作的数量。例如,一个存储设备的 IOPS 为 100,表示它每秒可以执行 100 次读取或者写入操作。 影响因素: 存储设备类型:固态硬盘(SSD)通常比机械硬盘(HDD)具有更高的 IOPS。这是因为 SSD 使用闪存芯片存储数据,数据的读写是通过电信号控制闪存芯片内的晶体管来实现的,其读写速度极快;而 HDD 是通过磁头在高速旋转的盘片上进行数据的读写操作,机械结构导致其读写速度相对较慢。
存储设备的内部架构
对于 SSD,其内部的闪存芯片通道数量、主控芯片性能等因素都会影响 IOPS。更多的闪存芯片通道可以同时进行数据传输,提高IOPS;高性能的主控芯片能够更好地调度和管理数据读写,优化 IOPS。 文件系统和数据块大小:不同的文件系统对 IOPS也有影响。例如,某些文件系统在处理小文件时可能具有较高的 IOPS,而在处理大文件时性能下降。同时,数据块大小也很关键,较小的数据块大小可能会导致更多的IOPS,因为每次读写的数据量小,操作频繁,但这也可能会增加系统开销。 应用场景: 数据库应用:在数据库系统中,高 IOPS是非常重要的。例如,对于一个频繁进行数据插入、更新和查询的在线交易数据库,大量的事务操作需要快速的读写支持。每一笔交易可能涉及多次数据读写,高IOPS 能够确保数据库系统快速响应,减少交易等待时间,提高系统的并发处理能力。 虚拟桌面基础架构(VDI):在 VDI环境中,多个用户通过虚拟桌面访问存储在服务器上的数据。当用户同时启动应用程序、加载文件等操作时,需要高 IOPS 来保证存储系统能够快速地为每个用户提供数据读写服务,避免用户体验的卡顿。

吞吐量(Throughput)

定义:吞吐量是指单位时间内成功地传输数据的数量。它通常以字节 / 秒(Bps)、千字节 / 秒(KBps)、兆字节 / 秒(MBps)或吉字节 / 秒(GBps)等单位来衡量。例如,一个网络连接的吞吐量为 10MBps,表示每秒可以成功传输 10兆字节的数据。
影响因素
网络带宽:这是影响吞吐量的一个关键因素。网络带宽就像是一条高速公路的宽度,带宽越高,能够同时传输的数据量就越大。例如,一个 100Mbps的网络连接比 10Mbps 的网络连接理论上具有更高的吞吐量。
传输协议和设备性能:不同的传输协议对吞吐量有不同的影响。例如,在网络传输中,TCP/IP协议的窗口大小、拥塞控制机制等都会影响数据传输的效率。同时,网络设备(如路由器、交换机等)的性能也很重要。高性能的设备能够更好地处理和转发数据,减少传输延迟,提高吞吐量。
数据传输的内容和格式:数据的类型(如文本、音频、视频等)和格式也会影响吞吐量。例如,传输未经压缩的高清视频数据需要比传输简单文本文件更高的吞吐量,因为视频数据量更大。
应用场景: 文件传输服务:在云存储服务或者企业内部的文件共享服务中,吞吐量决定了文件传输的速度。例如,当用户从云存储中下载一个大型文件(如
1GB 的高清电影)时,高吞吐量可以使文件在短时间内下载完成,提高用户体验。
数据中心内部的数据传输:在数据中心中,服务器之间需要大量的数据交换。例如,在分布式存储系统中,数据节点之间需要传输数据块进行数据备份、恢复和负载均衡等操作。高吞吐量能够确保这些数据传输过程高效进行,维持数据中心的正常运转。

相互制约的原理基础

从物理层面看: 存储设备或网络设备都有其物理极限。例如,存储设备的内部总线带宽、网络接口的速率等都是有限的。当追求高 IOPS时,每次读写操作的数据量可能较小,这就像在一个有限带宽的通道里频繁地发送小包裹。如果读写操作过于频繁(高IOPS),可能会因为频繁的请求处理而占用大量的系统资源,导致用于传输大量数据的资源减少,从而限制吞吐量。
反之,当重点关注吞吐量时,每次传输的数据量较大,这可能会导致设备忙于传输这些大数据块,而无法及时响应大量的小读写操作请求,从而降低IOPS。例如,在网络传输中,如果正在传输一个大型文件(以提高吞吐量),此时一些小的数据包(如控制指令等)的处理速度可能会变慢,影响IOPS。
从软件和协议层面看
操作系统和存储管理软件对设备的调度策略也会影响两者的关系。例如,文件系统的缓存机制,如果为了提高吞吐量而将大量数据缓存在内存中准备传输,可能会占用原本可以用于快速响应小读写操作的缓存空间,从而降低 IOPS。 网络传输协议中的窗口大小和拥塞控制机制也会产生制约。例如,TCP 协议中的拥塞窗口会根据网络状况动态调整每次传输的数据量。如果为了提高吞吐量而增大窗口大小,可能会在网络出现拥塞时,不仅导致吞吐量下降,还会因为需要处理大量的重传等问题而影响IOPS。
不同场景下的制约关系表现 数据库应用场景:
对于一个在线事务处理(OLTP)数据库,如银行的交易系统,高 IOPS 至关重要。因为系统需要快速处理大量的小读写操作,如账户余额查询、转账等。如果过度关注吞吐量,例如,采用一些会合并数据块传输的策略来提高数据传输效率,可能会导致单个小读写操作的响应时间变长,降低 IOPS,从而影响系统的交易处理速度和用户体验。
而在数据仓库应用场景下,数据加载和备份等操作更注重吞吐量。例如,在夜间进行数据仓库的数据批量加载时,需要传输大量的数据块。此时,如果存储设备或网络忙于处理大量小读写操作(高 IOPS),可能会导致数据加载速度变慢,吞吐量降低

2.2 存储类型

在这里插入图片描述

DAS:Direct-Attached Storage 开放系统的直连式存储。直连式存储依赖服务器主机操作系统进行数据的IO读写和存储维护管理,数据备份和恢复要求占用服务器主机资源(包括CPU、系统IO等),数据流需要回流主机再到服务器连接着的磁带机(库)。数据备份通常占用服务器主机资源20-30%,因此许多企业用户的日常数据备份常常在深夜或业务系统不繁忙时进行,以免影响正常业务系统的运行。直连式存储与服务器主机之间的连接通常采用SCSI连接

在这里插入图片描述
NAS:(Network Attached Storage:网络附属存储)NAS被定义为一种特殊的专用数据存储服务器。NAS本身能够支持多种协议(如NFS、CIFS、FTP、HTTP等),而且能够支持各种操作系统。
NAS其实是一个网络上的瘦服务器,对用户提供文件系统访问的能力NAS其实是一个网络上的瘦服务器,对用户提供文件系统访问的能力,管理存储介质和负责数据备份。平常我们在x86的服务器上开启samba服务,然后在windows上映射一个盘符到samba服务器上就可以像使用本地存储一样使用服务器上的存储,这时,这台服务器也可以看做是一台NAS服务器。直接挂载使用的(例如目前常用的NFS, CIFS文件系统) 侠义如共享文件

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

在这里插入图片描述
在这里插入图片描述
SAN和NAS两者还是有点难区别。NAS的文件系统在NAS设备这边,而SAN的文件系统还是在访问端。
NAS 可以看成放在网络上的文件夹,而SAN可以看作是网络上的磁盘,还需格式化系统,比如mkfs 个xfs ext4,自由度高。
在这里插入图片描述

NAS与SAN的关联
根据上面提到的NAS与SAN的区别,我们可以知道,SAN是对用户提供的是高速以块为单位的存储接口,而NAS为用户提供的是以文件为单位的存储接口。

可以说SAN可以看成是网络上的硬盘,NAS可以看成是网络上的文件系统。NAS拥有网络文件系统的优势,而SAN有底层高速数据块的存储优势,所以可以把两者结合起来使用,所以有了NAS-SAN这样的东西
在这里插入图片描述

2.3 存储协议

iSCSI是由IBM发明的基于以太网的存储协议,该协议与SUN的NFS协议都是为了解决存储资源共享问题的解决方案。两者意图一致,只不过两者是不同的实现方式,前者在客户机上呈现的是一个块设备,而后者则是一个目录树。

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
iSCSI 协议

iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准

概括的说,iSCSI是一种存储设备远程映射技术,它可以将一个远程服务器上的存储设备映射到本地,并呈现为一个块设备(大白话就是磁盘)。从普通用户的角度,映射过来的磁盘与本地安装的磁盘毫无差异。

这种映射方式基于是基于SCSI协议的,SCSI协议是计算机与外围设备(例如硬盘、光盘等)通信的协议。而iSCSI则是通过TCP协议对SCSI进行封装的一种协议,也就是通过以太网传输SCSI协议的内容。

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

2.4 RAID

RAID 磁盘阵列(Redundant Arrays of Independent Disks,RAID),有“独立磁盘构成的具有冗余能力的阵列”之意。磁盘阵列是由很多块独立的磁盘,组合成一个容量巨大的磁盘组,利用个别磁盘提供数据所产生加成效果提升整个磁盘系统效能。利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上提高传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量(Throughput)
(1)通过对磁盘上的数据进行条带化,实现对数据成块存取,减少磁盘的机械寻道时间,提高了数据存取速度。
(2)通过对一个阵列中的几块磁盘同时读取,减少了磁盘的机械寻道时间,提高数据存取速度。
(3)通过镜像或者存储奇偶校验信息的方式,实现了对数据的冗余保护。

RAID-加粗样式逻辑卷lun
在这里插入图片描述
效率和可靠性
在这里插入图片描述
增加校验盘
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

三、内存 i/O虚拟化

3.1 内存虚拟化

在这里插入图片描述

基本概念

内存虚拟化是云计算和虚拟化技术中的一个关键部分。它的目的是在多个虚拟机(VM)之间高效地共享物理内存资源,使得每个虚拟机都认为自己拥有独立的、连续的物理内存空间,而实际上它们是共享主机的物理内存。
在这里插入图片描述

地址空间转换原理

物理地址和虚拟地址:在非虚拟化环境中,应用程序使用的是虚拟地址,通过内存管理单元(MMU)转换为物理地址来访问内存。在虚拟化环境下,情况变得更加复杂。虚拟机中的操作系统(Guest OS)管理着自己的虚拟地址空间(Guest Virtual Address,GVA),它认为自己在直接访问物理内存,但实际上这是一种假象。
影子页表(Shadow Page Table)机制:早期的内存虚拟化技术使用影子页表来实现地址转换。当 Guest OS 创建一个页表(将 GVA 映射到 Guest Physical Address,GPA)时,VMM(虚拟机监视器)会为其创建一个影子页表,用于将 GVA 直接映射到主机物理地址(Host Physical Address,HPA)。这种方法的缺点是性能开销较大,因为每次 Guest OS 更新页表时,VMM 都需要更新影子页表。
硬件辅助虚拟化(Hardware - Assisted Virtualization):现代处理器提供了硬件支持来简化内存虚拟化。例如,Intel 的 EPT(Extended Page Tables)和 AMD 的 RVI(Rapid Virtualization Indexing)技术。以 EPT 为例,它在硬件层面扩展了页表结构,使得 MMU 可以直接将 GVA 通过 Guest 页表和 EPT 转换为 HPA,减少了 VMM 的干预,大大提高了性能。

内存共享与隔离原理

内存共享: 为了提高内存利用率,内存虚拟化技术允许不同的虚拟机共享相同的物理内存页。例如,多个虚拟机运行相同的操作系统或相同的应用程序,它们的某些内存区域(如操作系统内核代码)是相同的。VMM 可以识别这些相同的内存区域,并将它们映射到相同的物理内存页,从而节省内存资源。
内存隔离: 虽然虚拟机之间共享物理内存,但必须保证它们之间的内存隔离,以防止一个虚拟机访问另一个虚拟机的内存数据。VMM 通过内存权限管理和地址空间划分来实现隔离。例如,通过设置页表项中的权限位,使得虚拟机只能访问自己被授权的内存区域。如果虚拟机试图访问未授权的区域,会触发处理器的异常机制,由 VMM 进行处理。

3.2 I/O 虚拟化

在这里插入图片描述

基本概念

I/O 虚拟化是一种在虚拟化环境中管理和共享 I/O 设备(如磁盘、网络接口卡、USB 设备等)的技术。它的目的是让多个虚拟机(VM)能够高效地共享物理 I/O 设备,并且每个虚拟机都感觉自己拥有独立的、专用的 I/O 设备,就像在非虚拟化的物理机环境中一样。

模拟(Emulation)方式

原理:在 I/O 虚拟化的早期阶段,模拟是一种常用的方法。VMM(虚拟机监视器)会在软件层面模拟各种 I/O 设备的功能。例如,对于一个虚拟机中的虚拟磁盘设备,VMM 会模拟磁盘控制器的行为,包括接收来自虚拟机操作系统(Guest OS)的 I/O 请求(如读 / 写操作),然后将这些请求转换为对真实物理磁盘的操作。
示例:假设一个虚拟机中的应用程序想要从虚拟磁盘的某个扇区读取数据。Guest OS 会向虚拟磁盘控制器发送一个读请求,这个请求会被 VMM 截获。VMM 会解析这个请求,将其转换为对物理磁盘的实际读操作,包括定位磁盘磁头、读取数据等过程。读取到的数据再通过 VMM 返回给虚拟机中的应用程序。这种模拟方式的优点是兼容性好,可以支持各种不同类型的 Guest OS 和 I/O 设备,但缺点是性能较低,因为大量的软件模拟操作会产生较高的 CPU 开销。

半虚拟化(Para - virtualization)方式

原理:半虚拟化技术要求 Guest OS 进行一定的修改,以使其能够更好地与 VMM 协作完成 I/O 操作。在这种模式下,Guest OS 知道自己运行在虚拟化环境中,并且会使用专门的 I/O 接口与 VMM 进行通信。例如,Guest OS 会通过特定的 Hypercall(超级调用)来发送 I/O 请求,而不是像在物理机环境中那样直接与 I/O 设备交互。
示例:当虚拟机中的应用程序发起一个 I/O 操作时,Guest OS 会识别这个操作,并通过 Hypercall 将请求发送给 VMM。VMM 收到请求后,直接与物理 I/O 设备进行交互,完成操作后将结果返回给 Guest OS。这种方式相比模拟方式,减少了中间的软件模拟环节,提高了性能,但它需要对 Guest OS 进行修改,限制了其通用性。

硬件辅助 I/O 虚拟化(Hardware - Assisted I/O Virtualization)方式

原理:现代处理器和 I/O 设备提供了硬件支持来实现 I/O 虚拟化。例如,Intel 的 VT - d(Virtualization Technology for Directed I/O)和 AMD 的 IOMMU(Input/Output Memory Management Unit)技术。这些技术通过在硬件层面提供 I/O 设备的隔离和地址转换功能,使得每个虚拟机可以直接访问物理 I/O 设备的一部分资源,同时保证设备之间的隔离和安全性。
示例:以网络接口卡(NIC)为例,通过硬件辅助 I/O 虚拟化,每个虚拟机可以有自己独立的直接内存访问(DMA)区域,并且可以直接向 NIC 发送和接收数据包,而 IOMMU 会负责将虚拟机的 I/O 地址转换为物理 I/O 地址,确保每个虚拟机只能访问自己被授权的 I/O 设备资源,从而提高了 I/O 操作的效率和安全性。

四、网络虚拟化

虚拟化网络是云计算的关键技术之一,它将物理网络资源虚拟化为多个逻辑网络。例如,在一个数据中心里,通过软件定义网络(SDN)技术,可以把物理交换机、路由器等设备提供的网络功能进行抽象,划分出多个虚拟网络,每个虚拟网络可以分配给不同的用户或应用。
这样做的好处是提高网络资源的利用率,就像把一套大房子(物理网络)隔成多个小房间(虚拟网络),每个小房间可以租给不同的人使用,从而实现资源的高效利用
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、为什么虚拟化

为什么

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


发展趋势:`

在这里插入图片描述

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

相关文章:

云计算基础,虚拟化原理

文章目录 一、虚拟化1.1 什么是虚拟化1.2 虚拟化类型 二 、存储虚拟化2.1 存储指标2.2 存储类型2.3 存储协议2.4 RAID 三、内存 i/O虚拟化3.1 内存虚拟化基本概念地址空间转换原理内存共享与隔离原理 3.2 I/O 虚拟化基本概念模拟(Emulation)方式半虚拟化…...

Android13工具修改wifi mac地址以后没有更新的问题

Android13系统在通过烧写工具更新修改wifi mac地址以后,在系统设置里面查看wifi mac地址还是之前的,没有更新。 原因:android13 系统中packages\modules\Wifi\service\ServiceWifiResources\res\values\config.xml新增了"config_wifiSav…...

Jmeter_后置处理beanshell

背景:调用Eolinker接口,统计接口测试用例的完成情况,并写入excel文件; 1、调用登录接口,JSON提取器提取接口返回的accessToken,再封装到HTTP信息头管理器中; 2、请求工作空间列表接口&#xff0…...

熵与交叉熵:从不确定性角度理解 KL 散度

从不确定性减少视角理解KL散度 损失函数相关文章(置顶) 1. KL 散度:多维度解读概率分布间的隐秘 “距离” 2. 熵与交叉熵:从不确定性角度理解 KL 散度 3. 机器学习、深度学习关于熵你所需要知道的一切 本文核心 由于熵表征不确定…...

HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现

HarmonyOS鸿蒙开发 弹窗及加载中指示器HUD功能实现 最近在学习鸿蒙开发过程中,阅读了官方文档,在之前做flutter时候,经常使用overlay,使用OverlayEntry加入到overlayState来做添加悬浮按钮、提示弹窗、加载中指示器、加载失败的t…...

KG-CoT:基于知识图谱的大语言模型问答的思维链提示

一些符号定义 知识图谱实体数量: n n n 知识图谱中关系类型数量: m m m 三元组矩阵: M ∈ { 0 , 1 } n n m \textbf{M} \in \{0, 1\}^{n \times n \times m} M∈{0,1}nnm, M i j k 1 M_{ij}^k 1 Mijk​1则说明实体 i i i和实…...

(2024,影响 LLaVA 性能的因素,LLM 模型规模,视觉输入配置(网格/token 数),AnyRes,数据量/质量)

LLaVA-NeXT: What Else Influences Visual Instruction Tuning Beyond Data? 目录 0. 简介 1. 架构 1.1 语言模型 1.2 视觉编码器 2. 视觉表示 2.1 训练时分辨率和 token 数量配置 2.2 LLM 扩展的有效性 2.3 放大原始图像 2.4 推理时分辨率和 token 数量配置 2.5 池…...

Vue3 网络请求

文章目录 Vue3 网络请求CORS问题ajaxfetchaxios Vue3 网络请求 CORS问题 同源:指的是当前用户所在的URL与被请求的URL的协议名、域名、端口必须完全相同。一旦有一个或多个不同,就是非同源请求,也就是我们经常说的跨域请求,简称…...

全方位解读消息队列:原理、优势、实例与实践要点

全方位解读消息队列:原理、优势、实例与实践要点 一、消息队列基础认知 在数字化转型浪潮下,分布式系统架构愈发复杂,消息队列成为其中关键一环。不妨把消息队列想象成一个超级“信息驿站”,在古代,各地的信件、物资运…...

Java-数据结构-栈与队列(StackQueue)

一、栈(Stack) ① 栈的概念 栈是一种特殊的线性表,它只允许固定一端进行"插入元素"和"删除元素"的操作,这固定的一端被称作"栈顶",对应的另一端就被称做"栈底"。 📚 栈中的元素遵循后…...

Transformer入门教程全解析(一)

一、开篇:走进Transformer的奇妙世界 在当今深度学习领域,Transformer 无疑是一颗璀璨的明星,它如同一股强大的变革力量,席卷了自然语言处理(NLP)乃至更多领域。从机器翻译到文本生成,从问答系…...

拼音读音基础

文章目录 一、音节1、结构2、声母3、韵母 二、声调 拼音读音往往被认为跟应试考试相关,学会正常交流口语以后不再进行关注,其实还是有必要了解细节、查漏补缺。 一、音节 1、结构 音节 声母 韵母;一个音节基本等于一个汉字; 2、…...

Qt 坐标系统和坐标变换

一、概述:1、QPainter在QPaintDevice上绘图的默认坐标系统是,原点(0,0)在左上角,x轴正方向水平向右,y轴正方向竖直向下的坐标系。 2、为了绘图的方便,QPainter提供了一些坐标变换的功能,通过平移、旋转、缩放等坐标变…...

【redis】ubuntu18安装redis7

在Ubuntu 18下安装Redis7可以通过以下两种方法实现:手动编译安装和使用APT进行安装。 Ubuntu 18系统的环境和版本: $ cat /proc/version Linux version 4.15.0-213-generic (builddlcy02-amd64-079) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)…...

Outlook 网页版一直提示:检测到重复的重定向

Outlook 网页版提示“检测到重复的重定向”通常是由于浏览器缓存、Cookie问题或浏览器插件引发的。可以按照以下步骤进行排查和解决: 1. 清除浏览器缓存和 Cookie 在浏览器设置中找到清除浏览数据的选项。勾选“缓存文件”和“Cookies”相关选项,然后清…...

初级前端面试题 - js

前言:众所周知,HTML,CSS,JS是学习前端所必备的。js的基础学好了,框架类的vue,react等都会接受的很快,因此js是前端很总要的一个部分,这篇文章将会结合面试题,对js的知识点进行总结 号外号外,这是…...

matlab的绘图的标题中(title)添加标量以及格式化输出

有时候我们需要在matlab绘制的图像的标题中添加一些变量,这样在修改某些参数后,标题会跟着一块儿变。可以采用如下的方法: x -10:0.1:10; %x轴的范围 mu 0; %均值 sigma 1; %标准差 y normpdf(x,mu,sigma); %使用normpdf函数生成高斯函数…...

51单片机——串口通信(重点)

1、通信 通信的方式可以分为多种,按照数据传送方式可分为串行通信和并行通信; 按照通信的数据同步方式,可分为异步通信和同步通信; 按照数据的传输方向又可分为单工、半双工和全双工通信 1.1 通信速率 衡量通信性能的一个非常…...

mapbox基础,style样式汇总,持续更新

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言二、🍀根属性2.1 so…...

用AI技术提升Flutter开发效率:ScriptEcho的力量

引言 在当今快速发展的技术时代,Flutter作为一种跨平台开发框架,正在越来越多的开发者中崭露头角。它不仅能够为开发者提供一套代码同时部署到iOS和Android平台的解决方案,还能帮助企业节省人力成本和开发时间。然而,对于新手开发…...

Java阶段四04

第4章-第4节 一、知识点 CSRF、token、JWT 二、目标 理解什么是CSRF攻击以及如何防范 理解什么是token 理解什么是JWT 理解session验证和JWT验证的区别 学会使用JWT 三、内容分析 重点 理解什么是CSRF攻击以及如何防范 理解什么是token 理解什么是JWT 理解session验…...

vivado 时钟指南

时钟指南 每个 FPGA 架构都为时钟提供有专用资源。掌握 FPGA 架构中的时钟资源,使您能够规划好自己的时钟,从而实现时钟 资源的最佳利用。大多数设计无需您了解这些细节。但如果您能够控制布局,同时对每个时钟域上的扇出有良好的思 路&a…...

git项目提交步骤(简洁版)

1.创建仓库 2.填写 信息 3.点击这个按钮 4.找到要上传的文件,在目录内右键点击 5.依次执行命令 在命令窗口中输入:git init 复制仓库地址: 在命令窗口中输入:git remote add origin 仓库地址 在命令窗口中输入:…...

Jmeter-压测时接口如何按照顺序执行

Jmeter-压测时接口如何按照顺序执行-临界部分控制器 在进行压力测试时,需要按照顺序进行压测,比如按照接口1、接口2、接口3、接口4 进行执行 查询结果是很混乱的,如果请求次数少,可能会按照顺序执行,但是随着次数增加…...

模式识别-Ch5-线性判别函数

Ch5 线性判别函数 文章目录 Ch5 线性判别函数引言:生成模型 vs判别模型生成模型 vs 判别模型判别模型分类 线性判别函数与决策面线性判别函数两类情况下的决策多类问题下决策 多类情形-线性机器线性决策面优缺点 广义线性判别函数例:二次判别函数例1: 1-…...

数据结构二叉树-C语言

数据结构二叉树-C语言 1.树1.1树的概念与结构1.2树的相关术语1.3树的表示1.4树形结构实际运用场景 2.二叉树2.1概念与结构2.2特殊的二叉树2.2.1满二叉树2.2.2完全二叉树 2.3二叉树存储结构2.3.1顺序结构2.3.2链式结构 3.实现顺序结构的二叉树4.实现链式结构二叉树4.1前中后序遍…...

字节小米等后端岗位C++面试题

C 基础 引用和指针之间的区别?堆栈和堆中的内存分配有何区别?存在哪些类型的智能指针?unique_ptr 是如何实现的?我们如何强制在 unique_ptr 中仅存在一个对象所有者?shared_ptr 如何工作?对象之间如何同步…...

IOS HTTPS代理抓包工具使用教程

打开抓包软件 在设备列表中选择要抓包的 设备,然后选择功能区域中的 HTTPS代理抓包。根据弹出的提示按照配置文件和设置手机代理。如果是本机则会自动配置,只需要按照提醒操作即可。 iOS 抓包准备 通过 USB 将 iOS 设备连接到电脑,设备需解…...

renben-openstack-使用操作

管理员操作 (1)上传一个qcow2格式的centos7镜像 (2)管理员------>云主机类型------>创建云主机类型 名称:Centos7 VCPU数量:1 内存: 1024 根磁盘: 10G 其他的默认 点击创建云主机类型即可 界面会显示如下 创建公网络 (1)创建…...

HOW - Form 表单确认校验两种模式(以 Modal 场景为例)

目录 一、背景二、具体1. 模式一:点击确认进行校验提示2. 模式二:确认按钮依赖于表单内容实现说明 一、背景 基于react、antd form分别实现如下两种模式: 1、一个 Modal,点击确认进行校验提示2、一个 Modal,确认按钮…...

MATLAB算法实战应用案例精讲-【数模应用】图像边缘检测(附MATLAB和python代码实现)(二)

目录 前言 算法原理 相关概念 二值图像、灰度图像、彩色图像 邻接性、连通性 图像滤波 频率 滤波器 边缘检测算子:Sobel算子、Scharr算子、Laplacian算子、Canny算子 梯度计算 + 顶帽 + 黑帽 + 拉普拉斯金字塔 相位一致性(Phase Congruency,PC) 几种常见的算法…...

高考日语听力中常考2大类关键词

高考日语听力中,有些关键词的出现频率很高,同学们掌握这些关键词的读音和意思,可以提高听力答题的正确率,如时间类、地点类、天气类关键词……本文档为大家整理了干货,高考日语听力常考关键词,帮助同学们区分和积累常用词汇,记得要持续关注哦! 时间类关键词 1.星期 ∙…...

windows和linux的抓包方式

1.实验准备: 一台windows主机,一台linux主机 wireshark使用: 打开wireshark,这些有波动的就代表可以有流量经过该网卡,选择一张有流量经过的网卡 可以看到很多的流量,然后可以使用过滤器来过滤想要的流量…...

工业 4G 路由器赋能远程医疗,守护生命线

在医疗领域,尤其是偏远地区的医疗救治场景中,工业 4G 路由器正发挥着无可替代的关键作用,宛如一条坚韧的 “生命线”,为守护患者健康持续赋能。 偏远地区医疗资源相对匮乏,常常面临着专业医生短缺、诊疗设备有限等困境…...

《太阳之子》Build16524106官方中文学习版

《太阳之子》官方中文版https://pan.xunlei.com/s/VODabFuJ5gA7rCUACMulT5YGA1?pwdc47e# 集战术狙击、解谜与轻度潜行要素于一身,呈现独一无二的第三人称射击游戏体验。每关你只有一发子弹,但你可以进行在命中时重新瞄准、绕过障碍物、加速击穿护甲等操…...

shell-条件判断

目录 一、条件判断 1.按照文件类型进行判断 2.按照文件权限进行判断 3.两个文件之间进行比较 4.两个整数之间进行比较 5.字符串的判断 6.多重条件判断 二、if条件判断 1.单分支if条件语句 2.双分支if条件语句 (1)判断某文件是否存在 &#x…...

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集

【TI毫米波雷达】DCA1000不使用mmWave Studio的数据采集方法,以及自动化实时数据采集 mmWave Studio提供的功能完全够用了 不用去纠结用DCA1000低延迟、无GUI传数据 速度最快又保证算力无非就是就是Linux板自己写驱动做串口和UDP 做雷达产品应用也不会采用DCA1000的…...

20250110_ PyTorch中的张量操作

文章目录 前言1、torch.cat 函数2、索引、维度扩展和张量的广播3、切片操作3.1、 encoded_first_node3.2、probs 4、长难代码分析4.1、selected4.1.1、multinomial(1)工作原理: 总结 前言 1、torch.cat 函数 torch.cat 函数将两个张量拼接起来,具体地是…...

【ROS2】☆ launch之Python

☆重点 ROS1和ROS2其中一个很大区别之一就是launch的编写方式。在ROS1中采用xml格式编写launch,而ROS2保留了XML 格式launch,还另外引入了Python和YAML 编写方式。选择哪种编写取决于每位开发人员的爱好,但是ROS2官方推荐使用Python方式编写…...

unity rb.velocity和transform.position

rb.velocity和transform.position是用来控制物体位置的两种方式,前者通常用来控制人物的移动,它们的主要区别和适用场景如下 一,rb.velocity(控制刚体的速度) 它可以直接控制物体的速度,而不是物体的位置…...

景芯SOC设计实战

终身辅导、一对一辅导,手把手教您完成SoC全流程设计,从入门到进阶,带您掌握SoC芯片架构、算法、设计、验证、DFT、后端及低功耗全流程!直播视频不定期升级!让您快速超越同龄人! 景芯团队主打文档服务器实战…...

【WRF运行报错】总结WRF运行时报错及解决方案(持续更新)

目录 ./real.exe错误1:ERROR while reading namelist physics./wrf.exe错误1:FATAL CALLED FROM FILE: <stdin> LINE: 2419 Warning: too many input landuse types参考./real.exe 错误1:ERROR while reading namelist physics 执行./real.exe时,报错如下: taski…...

Mysql快速列出来所有列信息

文章目录 需求描述实现思路1、如何查表信息2、如何取字段描述信息3、如何将列信息一行展示4、拼接最终结果 需求描述 如何将MySQL数据库中指定表【tb_order】的所有字段都展示出来&#xff0c;以备注中的中文名为列名。 实现思路 最终展示效果&#xff0c;即拼接出可执行执行…...

spring boot发送邮箱,java实现邮箱发送(邮件带附件)3中方式【保姆级教程一,代码直接用】

文章目录 Java发送邮箱的方式1. 基于 Javax.mail 实现关于附件上传的方法 2. 基于 org.apache.commons.mail 实现常见报错 3. 基于 spring-boot-starter-mail 实现&#xff08;推荐&#xff09; 实际开发时需要实现邮件发送&#xff0c;本文章实现如何从零实现邮件发送。也就是…...

数据集-目标检测系列- 电话 测数据集 call_phone >> DataBall

数据集-目标检测系列- 电话 测数据集 call DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 需要更多数据资源和技术解决方案&#xff0c;知识星球&#xff1a; “DataBall - X 数据球(free)” 贵在坚持&#xff01; …...

Zstandard压缩算法

简介 Zstandard(缩写为zstd)是一种开源的无损数据压缩算法,主要设计目标是提供高比率的压缩和快速的解压缩速度。它由Yann Collet开发,并于2015年首次发布。 特点 高比率的压缩(通常比gzip更好)。快速的解压缩速度(通常比gzip更快)。支持流式解压缩。可以选择不同的压…...

npm i 报错

nodejs中 使用npm install命令时报错 npm err! file C: \user\admin\package.json_package.json 里缺少 description 和 repository 两个n字段。-CSDN博客...

【LeetCode】力扣刷题热题100道(26-30题)附源码 轮转数组 乘积 矩阵 螺旋矩阵 旋转图像(C++)

目录 1.轮转数组 2.除自身以外数组的乘积 3.矩阵置零 4.螺旋矩阵 5.旋转图像 1.轮转数组 给定一个整数数组 nums&#xff0c;将数组中的元素向右轮转 k 个位置&#xff0c;其中 k 是非负数。 class Solution { public:void rotate(vector<int>& nums, int k) …...

EFCore HasDefaultValueSql

今天小伙伴在代码中遇到了有关 HasDefaultValue 的疑问&#xff0c;这里整理澄清下... 在使用 Entity Framework Core (EFCore) 配置实体时&#xff0c;HasDefaultValue 方法会为数据库列设置一个默认值。该默认值的行为取决于以下条件&#xff1a; 1. 配置 HasDefaultValue 的…...

【数据结构】栈

目录 1.1 什么是栈 1.2 顺序栈 1.2.1 特性 1.3 链式栈 1.3.1 特性 总结&#xff1a; 1.1 什么是栈 栈是只能在一端进行插入和删除操作的线性表(又称为堆栈)&#xff0c;进行插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。 特点&#xff1a;栈是先进后出FILO…...