电脑硬件性能:HDD + SSD + CPU + GPU
文章目录
- 任务管理器:性能参数详解
- 一、电脑的硬件组成
- 二、机械硬盘和固态硬盘
- 2.1、详细介绍:HDD + SSD
- 2.2、读写性能
- 2.2.1、(HDD)读写性能的影响因素:寻道时间 + 旋转延迟 + 数据传输时间
- 2.2.2、(SSD)读写性能的影响因素:读写速度IOPS + 响应时间
- 三、CPU
- 3.1、CPU - 组成
- 3.2、CPU - 性能指标
- 3.2.1、容量
- 3.2.2、利用率
- 3.3、CPU与多线程的关系
- 四、GPU
- 4.1、入门知识
- 4.1.1、显卡 —— 是安装 GPU 的硬件设备
- 4.1.2、GPU —— 是一种专用于图形或图像计算的处理器
- 4.1.3、显存 —— 是显卡上的一种专用 GPU 内存。
- 4.1.4、CUDA —— 用于在 GPU 上进行并行计算的编程模型
- 4.2、GPU内存 —— 专用 GPU 内存 + 共享 GPU 内存
- 4.3、GPU计算流程(代码实现)
- 4.3、GPU计算流程(异步计算 + 同步计算)
任务管理器:性能参数详解
2023英伟达显卡排名天梯图(已更新)
一、电脑的硬件组成
电脑是由多个硬件和软件组件组成的复杂系统,它们协同工作以执行各种任务。电脑的装机配件模拟选择
电脑的硬件组成(图解)
- 硬件组件:
- 1.1
中央处理器(CPU,Central Processing Unit):
功能:用于执行计算机程序中的指令,是电脑的大脑。
类型:制造商(Intel、AMD)、架构(x86、ARM)- 1.2
图形处理器(GPU,Graphics Processing Unit):
功能:用于处理图形和图像任务(图形渲染和加速计算)
用途:用途(集成显卡、独立显卡)、产品(RTX、GTX)- 1.3
内存(RAM,Random Access Memory,随机存取存储器):
功能:用于存储正在运行的程序和数据,是CPU临时性的快速存储。
类型:容量(GB)、类型(DDR3、DDR4)等。- 1.4
显卡(VRAM,Video Random Access Memory,显存 / 视频内存):
功能: 用于存储图形和图像数据,是GPU临时性的快速存储。
类型:容量(GB)、类型(GDDR5、GDDR6)等。- 1.5
存储设备:
- 存储阵列:存储阵列
- 将多个硬盘驱动器组合在一起,以提供高容量、高性能和/或冗余性。
- 专门设计用于存储和管理大量数据的硬件设备。存储阵列可用于企业级数据中心、服务器和其他需要大容量和可靠性的应用场景。
- 机械硬盘:大容量、较慢的机械存储。
- 固态硬盘:小容量、高速的闪存存储。
- 移动硬盘:机械存储,大型便携,通过USB接口连接到计算机。
- 光盘驱动器:使用光学技术(激光束)来读写数据。包括CD-ROM、DVD-ROM和Blu-ray等
- U盘:闪存存储,小型便携,通过USB接口连接到计算机。
- 1.6
主板:
功能:连接和协调所有硬件组件,提供电源和数据传输。
包括:CPU插槽、内存插槽、扩展插槽(PCIe)、输入输出端口等。- 1.7
电源供应器:
功能:提供电能给电脑(所有硬件组件)。
包括:电源单元(PSU)和电源线。- 1.8
机箱:
功能:容纳和保护电脑内部组件。
类型:台式机箱、小型机箱、游戏机箱等。- 1.9
冷却系统:
功能:保持硬件温度在可接受范围内。
包括:风扇、散热器、散热片等。- 外部设备
- 2.1
输入设备:键盘、鼠标、触摸板等。- 2.2
输出设备:显示器、音响、耳机、打印机、扫描仪、投影仪、摄像头等。- 2.3
性能设备:声卡、网卡等- 2.4
移动设备:U盘、移动硬盘等- 软件组件:
- 3.1
操作系统(OS):
功能:管理硬件资源,提供用户界面,执行应用程序。
分类:Windows、Mac OS、Linux等。- 3.2
驱动程序:
功能:使硬件和操作系统之间能够通信。
分类:显卡驱动、打印机驱动等。- 3.3
应用程序:
功能:执行特定任务,如办公套件、图形设计工具、游戏等。
分类:办公软件、娱乐软件、开发工具等。
二、机械硬盘和固态硬盘
2.1、详细介绍:HDD + SSD
机械硬盘(Hard Disk Drive,HDD)和固态硬盘(Solid State Drive,SSD)是计算机存储设备的两种主要类型。
| HDD | SSD | |
|---|---|---|
| 工作原理 | 数据存储在具有磁性涂层的金属盘上,并通过安装在控制器上的磁头采用机械运动来读取或写入 | 使用闪存存储器(有一堆NAND闪存颗粒)来存储数据。数据通过电子访问存储芯片来读取或写入 |
| 性能 | 较慢的机械存储(机械访问导致较长的读取和写入延迟) | 高速的闪存存储(电子访问具有高速的读取速度与传输速度、更短的访问时间) |
| 耐久性 | 易损坏(有移动组件(即具有物理运动的组件)。在一定的冲击下会损坏;磁力会导致故障;耗电量较大) | 更耐用(没有移动部件。且在断电时也能保留电荷从而保留数据。) |
| 容量 | 大容量 | 小容量(上限比HDD低) |
| 价格 | 便宜 | 更昂贵 |
| 适用场景 | 适用于大容量存储、成本较低和无需数据快速访问的场景(如数据归档、备份等) | 适用于高性能、快速数据访问和响应时间的应用(如操作系统启动盘、游戏加载、视频编辑等) |
2.2、读写性能

2.2.1、(HDD)读写性能的影响因素:寻道时间 + 旋转延迟 + 数据传输时间
机械硬盘读写性能的影响因素:寻道时间 + 旋转延迟 + 数据传输时间

windows下如何查看磁盘IO性能
2.2.2、(SSD)读写性能的影响因素:读写速度IOPS + 响应时间
读写速度IOPS(关键指标):IOPS即每秒的读写次数(单位MB/s、GB/s)。更高的读写速度意味着更快的数据传输。响应时间(Response Time): 对读写请求的响应速度,通常以毫秒为单位。低响应时间表示更快的存储系统响应。闪存类型:SSD 中使用的 NAND 闪存分为不同类型,如 SLC(Single-Level Cell)、MLC(Multi-Level Cell)、TLC(Triple-Level Cell)和 QLC(Quad-Level Cell)。SLC 通常具有更高的性能和更长的寿命,但也更昂贵。接口类型:SSD 的接口类型包括 SATA、NVMe 和 PCIe。NVMe 和 PCIe 接口提供更高的带宽和更低的延迟。队列深度和并发访问:支持更深的队列和更高的并发访问的 SSD 能够更好地处理多任务和大量并发请求。温度敏感:过高或过低的温度可能会影响性能。温度过高还可能导致固态硬盘降低频率以防止过热。TRIM 支持:用于在固态硬盘上删除无效数据的命令,有助于垃圾回收和提高写入效率。写入次数和寿命:NAND 闪存有写入次数的限制,不同类型具有不同的寿命和写入次数限制,影响长期使用性能。
三、CPU
中央处理器(CPU):是计算机系统中的大脑,负责(根据指令的顺序逐步)执行各种指令来完成计算、逻辑操作、数据处理和控制流程等任务。
CPU结构的简单理解
3.1、CPU - 组成

CPU由运算器、控制器和存储器组成。
运算器(Arithmetic Logic Unit,ALU):负责执行算术运算(如加法、减法等)和逻辑运算(如与、或、非等),以及其他数值计算和逻辑操作。控制器(Control Unit,CU):负责控制数据流和指令流,以确保程序按照正确的顺序执行。如:从内存中读取数据、执行计算、存储结果等。
- 控制器从内存中读取指令,解码指令并将其发送到适当的部件执行。
存储器(Memory):是CPU用于存储数据和指令的地方。
- 存储器包括寄存器、缓存和主存。
寄存器(Register):用于存储CPU正在处理的数据和指令。—— 是最快的存储器缓存(Cache):用于暂存频繁使用的数据和指令。—— 是位于CPU内部的高速存储器主存(Main Memory):用于存储程序和数据。—— 是CPU外部的存储器
3.2、CPU - 性能指标
百度百科:CPU性能参数 (主频 + 外频 + 总线频率 + 倍频系数 + 缓存 + 工作电压 + 制程 + 超线程)
性能饱和:表示当系统的某个组件(如:CPU)达到其最大处理能力时。
3.2.1、容量
CPU容量:是指CPU的性能和处理能力。如:处理任务的数量和复杂性。CPU容量的大小直接关系到计算机系统的整体性能。
3.2.2、利用率
震惊,用了这么多年的 CPU 利用率,其实是错的
CPU利用率: 在一定时间内,CPU用于执行计算任务的时间比例,通常以百分比表示。
公式 = (计算时间 / 总时间) = (1 - 空闲时间 / 总时间)
CPU利用率由两个部分组成:
(1)系统CPU使用率:表示CPU执行与操作系统相关的任务所花费的时间,例如管理内存、磁盘操作和网络活动。
(2)用户CPU使用率:表示CPU执行用户的应用程序和进程所花费的时间。
100% CPU利用率:表示CPU处于执行状态。 —— 达到了安防等级,可能导致CPU损坏或缩短寿命。0% CPU利用率:表示CPU处于空闲状态。 —— 由于系统CPU使用率的存在,所以是达不到的。
3.3、CPU与多线程的关系
时间片(Time Slice):是操作系统分配给每个线程或进程的最小时间单位。
CPU并发执行:将CPU时间划分为多个时间片,使得多个线程或进程分别在不同的时间片上同时运行,从而实现在一个CPU上并发执行。
时间片的大小:由操作系统的调度算法和系统配置决定。通常在几毫秒到几十毫秒之间。较小的时间片可以提高系统的响应速度,但可能增加线程切换的频率;反之亦然。线程切换:当一个线程或进程的时间片用完时,操作系统会强制进行线程切换,即暂停当前执行的线程或进程,并选择下一个可运行的线程或进程分配给 CPU 执行。通过在各个线程之间来回切换,实现了多任务的并发执行。
多线程与CPU利用率的关系
- 当CPU利用率
未达到饱和时,多线程并行计算可以提高整体性能。- 当CPU利用率
已经饱和时,继续增加线程将使得整体性能下降,出现 “线程切换” 和 “调度开销” 等问题。
线程切换开销:从一个正在执行的线程切换到另一个线程的过程。在切换过程中,操作系统需要上下文切换:保存当前线程的上下文信息(寄存器状态、程序计数器等),并加载下一个线程的上下文信息,使得另一个线程可以继续执行。线程调度开销:由操作系统执行线程调度所需的开销。开销包括 (选择合适的调度算法)决定下一个要执行的线程、管理线程队列等操作。在多线程应用中尤为显著,尤其是在高并发、线程数量众多的情况下。为了最大化性能,需要进行合理的线程管理。
(1)减小线程数量
(2)减少线程切换频率:时间片用完、适当的线程数量、线程主动让出CPU(time.sleep())、阻塞和唤醒、I/O操作
(3)使用线程池:使用 ThreadPoolExecutor 类创建线程池。可以指定线程池的大小,决定可以同时执行的线程数量。
举例说明
- 已知:若指定线程数为40,其中前25个线程的CPU利用率已经达到100%。
- 计算:前25个线程在饱和状态下争夺有限的CPU资源,而后15个线程需要等待前面的线程释放资源,故后15个线程的每个线程的执行时间较长。
四、GPU
4.1、入门知识
4.1.1、显卡 —— 是安装 GPU 的硬件设备
显卡(Graphics Card,显示适配器,Graphics Processing Unit Card,图形处理单元卡):是一块插在计算机主板上的扩展卡,用于输出图形信号并控制显示器的显示。
- 组成部分:显卡核心(GPU),显存、电路板(PCB)、金手指、供电 & 显示接口、以及散热器其他相关硬件。

【显卡科普】小白必看的入门显卡科普,关于显卡的原理、结构、作用
4.1.2、GPU —— 是一种专用于图形或图像计算的处理器
GPU(Graphics Processing Unit,图形处理单元):是一种专用于处理图形和图像相关计算的处理器。如:渲染、图像处理、计算机视觉等。
- GPU 具有大量的并行处理单元(CUDA cores 或 stream processors),这使得它们在执行大规模并行计算任务时具有显著的优势。
- GPU是图像处理芯片,因为GPU功耗很高、背面电流过大,都是焊接在显卡上。
独立显卡:将GPU焊在显卡的电路板上。集成显卡:将GPU和CPU集成在一起。- CPU是主板上的一块芯片。GPU是显卡上的一块芯片。
4.1.3、显存 —— 是显卡上的一种专用 GPU 内存。
显存(Graphics Memory):显存是显卡上的一种专用内存,用于存储图形数据、纹理、帧缓冲区等与图形处理相关的数据。
- 显存的容量决定了显卡可以处理的图形数据大小和复杂度,通常用于存储图像、纹理、帧缓冲区和其他与图形渲染相关的数据。
4.1.4、CUDA —— 用于在 GPU 上进行并行计算的编程模型
CUDA(Compute Unified Device Architecture,统一计算设备架构):是 NVIDIA 公司开发的,用于在 NVIDIA GPU 上进行通用计算的,一种并行计算平台和编程模型。
- CUDA 提供了一组 API 和工具,使程序员能够利用 GPU 的并行计算能力进行加速计算。CUDA 程序可以使用 C、C++、Python 等编程语言编写,并通过 NVIDIA 提供的 CUDA 编译器进行编译和优化。
- 使用 CUDA 编程,程序员可以直接操作 GPU 上的数据和执行核心,并利用 CUDA 提供的并行计算模式和优化技术实现高性能的并行计算任务。
4.2、GPU内存 —— 专用 GPU 内存 + 共享 GPU 内存

- 专用GPU内存(显存):详见上述。
- 共享GPU内存:是 win10 系统从主存中专门为 GPU 划分的内存。当显存不够使用时,超出部分将转移到共享GPU内存(即主存)中,以防止程序奔溃,但速度会明显减慢。
在使用多进程时:
(1)若迭代任务 A 的整体耗时(小于)内部每个操作的耗时之和,则多进程可以加速整个迭代过程。
(2)若迭代任务 A 的整体耗时(大于)内部每个操作的耗时之和,则多进程会增加额外的开销。此时的多进程相当于串联执行。
4.3、GPU计算流程(代码实现)
numba.cuda的GPU计算流程(区别)
(1)将数据从主机内存(CPU)传输到设备内存(GPU)。
(2)在 GPU 上执行并行计算任务。
(3)将计算结果从设备内存传输回主机内存。
import torch# (1)数据准备:创建两个张量,并将它们移动到 GPU 中
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
x = torch.tensor([1, 2, 3]).to(device)
y = torch.tensor([4, 5, 6]).to(device)# (2)并行计算:在 GPU 上执行向量加法
result = x + y# (3)数据传输:将计算结果从 GPU 传输回 CPU
result_cpu = result.cpu().numpy()
print("Result:", result_cpu) # Result: [5 7 9]
4.3、GPU计算流程(异步计算 + 同步计算)
GPU函数的启动方式是异步计算:
- 异步计算:CPU不会等待GPU函数执行完毕后,才执行下一行代码。
- 同步计算:在调用的GPU函数后面添加
torch.cuda.synchronize()—— 表示CPU需要等待GPU函数执行完毕后再计算。
import torch
import timedef async_example(x, y):# 异步计算:在 GPU 上执行矩阵相乘start_time = time.time()result = torch.matmul(x, y)end_time = time.time()execution_time = end_time - start_timeprint(f"同步计算执行时间:{execution_time: .4}", )def sync_example(x, y):# 同步计算:在 GPU 上执行矩阵相乘,并等待计算完成start_time = time.time()result = torch.matmul(x, y)torch.cuda.synchronize() # 同步计算end_time = time.time()execution_time = end_time - start_timeprint(f"同步计算执行时间:{execution_time: .4}", )if __name__ == "__main__":device = torch.device("cuda" if torch.cuda.is_available() else "cpu")num = 20000x = torch.randn(num, num).to(device)y = torch.randn(num, num).to(device)sync_example(x, y) # 执行同步计算示例async_example(x, y) # 执行异步计算示例"""
同步计算执行时间: 2.392 此时,计算完成,统计的是当前函数所需要完成的计算时间。
同步计算执行时间: 0.0 此时,计算未完成,相当于并没有统计计算时间,直接跳过。
"""
相关文章:
电脑硬件性能:HDD + SSD + CPU + GPU
文章目录 任务管理器:性能参数详解一、电脑的硬件组成二、机械硬盘和固态硬盘2.1、详细介绍:HDD SSD2.2、读写性能2.2.1、(HDD)读写性能的影响因素:寻道时间 旋转延迟 数据传输时间2.2.2、(SSDÿ…...
通过粒子系统customData传值给材质球
粒子特效使用的材质球,如果通过动画控制shader的某个参数,例如溶解阈值,所有的粒子都会按照相同的数值变化,如果需要每个粒子在自己的生命周期内按照曲线变化,则可以通过customData实现。 1.ParticleSystem中勾选Cust…...
常用分布的数学期望、方差、特征函数
文章目录 相关教程相关文献常用分布的数学期望&方差&特征函数定义事件域概率条件概率随机变量分布函数连续随机变量的概率密度函数数学期望离散随机变量连续随机变量 方差与标准差最大似然估计特征函数 不等式Chebyshev(切比雪夫)不等式 作者&am…...
ssh-配置
生成 SSH 密钥是一项重要的安全措施,用于在客户端和服务器之间建立加密连接。以下是在 Windows 和 Linux 系统上生成 SSH 密钥的详细步骤。 一、在 Linux 上生成 SSH 密钥 Linux 通常预装了 ssh-keygen 工具,可以通过以下步骤生成 SSH 密钥:…...
Python 在 JMeter 中如何使用?
要在JMeter中使用Python,需要使用JSR223 Sampler元素来执行Python脚本。使用JSR223 Sampler执行Python脚本时,需要确保已在JMeter中配置了Python解释器,并设置了正确的环境路径。 1、确保JMeter已安装Python解释器,并将解释器的路…...
贪心day1
文章目录 前言雪糕的最大数量重新分装苹果装满石头的背包的最大数量K 次取反后最大化的数组和不同整数的最少数目 前言 💫你好,我是辰chen,本文旨在准备考研复试或就业 💫文章题目大多来自于 leetcode,当然也可能来自洛…...
Redis 完整指南:命令与原理详解
目录 1. Redis 概述什么是 RedisRedis 应用场景 2. 安装与启动Redis 安装步骤源代码安装使用包管理器安装(以 Ubuntu 为例) 编译与启动命令编客户端连接 3. Redis 存储结构KV 存储结构数据结构类型String(字符串)List(…...
【2024软考高级架构师】论文篇——3、论Web系统的测试技术及其应用
【摘要】 本人于2023年8月参与了某地级市的市级机关电子政务信息系统的建设工作,该项目是该市机关的电子政务网建设计划的一部分,笔者在该项目中担任项目经理和系统分析师一职,主要负责项目的日常全面管理和质量保证与质量控制工作。该项目是基于WEB系统的,由于WEB系统具有…...
迪杰斯特拉算法的理解
图片转载自:最短路径算法-迪杰斯特拉(Dijkstra)算法 - 程序小哥爱读书的文章 - 知乎 https://zhuanlan.zhihu.com/p/346558578 迪杰斯特拉,一个广度优先算法,采用了贪心策略。 第一步,选取顶点D,更新和D相连的节点C&a…...
华为OD机试 - 文本统计分析(Python/JS/C/C++ 2024 E卷 200分)
华为OD机试 2024E卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试真题(Python/JS/C/C)》。 刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,…...
计算机挑战赛9
Excel表列名称由字母A~Z组成,列字母的规律如下: A、B、C.、AA、AB....AZ、BA、B...ZZZZY、ZZZZ...输入: 输入包含两个列名称字符串,长度均小于等于5。 输出: 输出两个列名称之间共有多少列 样例输入: AA AZ 样例输出: 24 代码: C&…...
C++学习路线(十六)
void类型指针 void -> 空类型 void* -> 空类型指针,只存储地址的值,丢失类型,无法访问,要访问里面的值 我们必须对指针进行正确的类型转换,然后再间接引用指针 所有其它类型的指针都可以隐式自动转换成 void 类型…...
2024年最受欢迎的AI工具与实际应用:AI技术对未来生活的深远影响
2024年最受欢迎的AI工具与实际应用:AI技术对未来生活的深远影响 随着2024年的到来,人工智能(AI)技术已经深入渗透到我们生活的方方面面。从日常工作到科学研究,AI工具的应用变得越来越广泛。无论是生成式AI工具&#…...
【网络安全】账户安全随笔
未经许可,不得转载。 作者:Enoch 原文出处:https://mp.weixin.qq.com/s/oKBpZ0F6Kl5NNmHSYCYIPw 文章目录 账户类型资金划转问题幂等ID使用错误多接口并发问题精度问题其他划转问题特殊资金盗取问题科学计数法问题账户类型 在互联网金融和电商企业中,账户安全直接关系到用…...
在线培训知识库管理系统:教育行业的新动力
在当今数字化时代,教育行业正经历着前所未有的变革。随着在线教育的兴起,如何高效地管理和传播知识成为了一个关键问题。在线培训知识库管理系统应运而生,它以其强大的知识整合、分享和管理能力,为教育行业注入了新的活力。 一、…...
【AI声音克隆本地整合包及教程】第二代GPT-SoVITS V2:声音克隆的新境界
在数字时代的浪潮中,个性化和创新是永恒的主题。GPT-SoVITS V2,作为第二代声音克隆技术,正以其革命性的特性和应用,为个人和企业打开一扇通往声音个性化的新大门。 声音克隆的新高度 GPT-SoVITS V2是由RVC变声器创始人“花儿不哭…...
博看书苑 8.8.1| 免费阅读海量图书期刊
博看书苑是一款免费的图书和期刊阅读神器,拥有海量的图书和期刊资源,涵盖了文学、历史、科技、教育等多个领域。无论你是想深入研究某个专业领域,还是想在闲暇时阅读一些轻松的读物,博看书苑都能满足你的需求。更令人惊喜的是&…...
导致动态代理无法使用的原因有哪些?
在动态代理的应用过程中,有时会遇到其无法正常使用的情况。这种现象可能源于多种原因,从网络配置到软件设置,了解和解决这些问题对保持代理的高效运行至关重要。本文将详细探讨导致动态代理无法使用的主要原因及对策,以帮助用户及…...
熟练使用Spring Boot、Spring Cloud Alibaba微服务开发框架,并深入理解其原理 学习要求
1. Spring Boot 核心理解 自动配置:了解 Spring Boot 的自动配置原理(EnableAutoConfiguration),包括如何查看和定制自动配置的内容。需要能解释 Spring Boot 如何减少样板代码。Spring Boot Starter:熟悉各种 starte…...
2024-10-09 问AI: [AI面试题] 描述数据预处理在 AI 中的重要性
文心一言 数据预处理在人工智能(AI)中扮演着至关重要的角色,它是构建高效、准确和可靠AI模型不可或缺的步骤。以下是数据预处理在AI中重要性的详细描述: 1. 提高数据质量 清理和去噪:数据预处理可以识别和纠正数据中…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器
一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
AI+无人机如何守护濒危物种?YOLOv8实现95%精准识别
【导读】 野生动物监测在理解和保护生态系统中发挥着至关重要的作用。然而,传统的野生动物观察方法往往耗时耗力、成本高昂且范围有限。无人机的出现为野生动物监测提供了有前景的替代方案,能够实现大范围覆盖并远程采集数据。尽管具备这些优势…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
GraphQL 实战篇:Apollo Client 配置与缓存
GraphQL 实战篇:Apollo Client 配置与缓存 上一篇:GraphQL 入门篇:基础查询语法 依旧和上一篇的笔记一样,主实操,没啥过多的细节讲解,代码具体在: https://github.com/GoldenaArcher/graphql…...

