Liunx磁盘管理(上)

news2024/11/18 15:35:12

 Liunx磁盘管理(中)-CSDN博客

目录

一.硬盘类型

机械硬盘(HDD)

固态硬盘(SSD)

二.插拔方式

1. 热插拔(Hot Swapping)

2. 冷插拔(Cold Swapping)

3. 模块化插拔

4. 插拔式硬盘托架

三.硬盘接口

SATA(Serial ATA)

SCSI(Small Computer System Interface)

SAS(Serial Attached SCSI)

NVMe(Non-Volatile Memory Express)

IDE(Integrated Drive Electronics)

总结

四.Liunx系统磁盘与分区命名方式

传统命名方法:

分区命名:

使用by-uuid或by-label命名:

特殊设备命名:

五.分区

分区的目的

分区格式

分区类型

文件系统

Linux 文件系统是指 Linux 操作系统用来管理和组织数据的结构和机制。文件系统负责存储、检索和操作文件和目录,并确保数据的完整性和安全性。Linux 支持多种文件系统,以下是最常见的 Linux 文件系统:

Windows 文件系统(扩展了解)

注意事项

inode

硬盘的实际分区数量限制

关于65535个分区


一.硬盘类型

机械硬盘(HDD)

机械硬盘(HDD)是一种存储设备,使用旋转磁盘和读/写磁头来存储和检索数据。以下是机械硬盘的基本结构:

  1. 盘片(Platters):机械硬盘通常由多个盘片组成,每个盘片都是一个圆形的金属或玻璃基板,上面涂有磁性材料。

  2. 磁头(Read/Write Heads):每个盘片都有两个磁头,一个用于读取数据,另一个用于写入数据。磁头位于盘片上方和下方,通过磁性浮动臂和驱动器来移动。

  3. 磁道(Tracks):盘片被划分为多个同心圆轨道,称为磁道。每个磁道可以存储一定量的数据。

  4. 扇区(Sectors):每个磁道被划分为多个扇区,每个扇区可以存储固定大小的数据块,通常为512字节。

  5. 主轴(Spindle):盘片通过主轴连接在一起,并由电机驱动主轴旋转。通常,硬盘的转速以每分钟转数(RPM)来表示,如5400 RPM、7200 RPM或10000 RPM。

  6. 磁头臂(Actuator Arm):磁头臂是一个可移动的机械臂,上面安装有磁头。它通过电机和控制器的控制,可以在盘片上移动磁头。

  7. 磁头定位器(Head Positioner):磁头定位器负责精确定位磁头在盘片上的位置。它使用电磁力将磁头臂移动到正确的磁道上。

  8. 控制器(Controller):硬盘的控制器是一个电子设备,负责控制硬盘的操作。它管理磁头的移动、数据的读写、错误检测和纠正等功能。

当计算机需要读取或写入数据时,控制器将指令发送给磁头臂和磁头,使其移动到正确的位置,并在磁道上读取或写入数据。机械硬盘的工作原理基于磁性材料的磁化和反磁化过程,通过改变磁场的方向来存储和检索数据。然而,由于机械硬盘使用机械部件进行数据访问,因此速度较慢,且容易受到物理冲击和震动的影响。

  • 特点
    • 容量大:机械硬盘通常提供较大的存储容量,适合存储大量数据。
    • 成本低:与固态硬盘相比,机械硬盘的每 GB 成本较低。
    • 寿命长:机械硬盘的磁性存储通常具有较长的寿命。
  • 缺点
    • 速度较慢:与 SSD 相比,HDD 的读写速度较慢。
    • 易碎:由于机械部件,HDD 容易受到冲击和振动的影响。
    • 噪音和热量:HDD 在运行时可能产生噪音和热量。

固态硬盘(SSD)

固态硬盘是一种新型硬盘,使用闪存技术来存储数据,没有机械部件。

  • 特点
    • 速度快:SSD 读写速度非常快,适合高性能需求。
    • 耐用性强:SSD 没有机械部件,抗震能力强,适合便携设备。
    • 无噪音:由于没有机械部件,SSD 运行时没有噪音。
  • 缺点
    • 成本较高:SSD 每 GB 成本较高,容量较小。
    • 磨损问题:SSD 的闪存有写入次数限制,可能会随着时间而磨损。

二.插拔方式

1. 热插拔(Hot Swapping)

热插拔是一种允许在系统运行时插入或拔出硬件组件的方式。它在不关闭系统电源的情况下进行硬件操作,通常用于高可用性和高可靠性环境。

  • 应用场景:服务器、数据中心、RAID 阵列、外部硬盘、网络设备等。
  • 优势:可以在不中断系统运行的情况下更换硬件,减少停机时间。
  • 注意事项:需要硬件和软件的支持。确保插拔时遵循正确的步骤,以避免数据丢失或系统崩溃。

2. 冷插拔(Cold Swapping)

冷插拔是在系统关闭或断电的情况下插入或拔出硬件组件的方式。它要求在更换硬件前关闭设备电源。

  • 应用场景:台式机、笔记本电脑、外部设备等。
  • 优势:操作相对简单,不需要额外的技术支持。
  • 注意事项:需要关闭电源,可能会导致系统停机。

3. 模块化插拔

模块化插拔涉及将硬件组件设计成模块,可以方便地插入或拔出。这种方式通常用于服务器、交换机和数据中心等。

  • 应用场景:服务器、交换机、RAID 控制器、光纤模块等。
  • 优势:提供灵活性,便于硬件升级和更换。
  • 注意事项:确保模块与系统兼容,并遵循正确的安装步骤。

4. 插拔式硬盘托架

这种插拔方式用于硬盘和 SSD,允许在不打开机箱的情况下快速更换硬盘。

  • 应用场景:服务器、NAS(网络附加存储)、数据中心等。
  • 优势:方便硬盘更换,适用于高可用性环境。
  • 注意事项:在插拔硬盘时,确保正确挂载和卸载,以避免数据损坏。

简单来分就是分为热插拔和非热插拔啦。

三.硬盘接口

SATA(Serial ATA)

SATA 是目前最常用的硬盘接口之一,主要用于消费级计算机和服务器。它具有以下特点:

  • 广泛使用:用于连接 HDD、SSD 和光驱等。
  • 速度:SATA 接口的传输速度从 SATA I 的 1.5 Gbps 到 SATA III 的 6 Gbps。
  • 兼容性:许多计算机和服务器都支持 SATA 接口。
  • 数据和电源分离:SATA 硬盘通常有单独的数据线和电源线。

SCSI(Small Computer System Interface)

SCSI 是一种老式的接口类型,通常用于服务器和专业存储系统。

  • 多样性:SCSI 有多种变体,包括 Parallel SCSI、SAS(Serial Attached SCSI)等。
  • 可靠性:SCSI 通常用于高可靠性和高性能的场景。
  • 扩展性:SCSI 支持多个设备的连接,适用于大规模存储系统。

SAS(Serial Attached SCSI)

SAS 是 SCSI 的一种序列化版本,常用于企业级存储和服务器。

  • 高性能:SAS 支持更高的传输速度,比 SATA 更适合高性能场景。
  • 多设备支持:SAS 可以在同一条总线上支持多个设备。
  • 向后兼容:SAS 支持 SATA 硬盘,这使得其在企业环境中具有更高的灵活性。

NVMe(Non-Volatile Memory Express)

NVMe 是一种专为固态硬盘(SSD)设计的接口和协议,通常通过 PCIe(Peripheral Component Interconnect Express)总线连接。

  • 极高性能:NVMe 提供比 SATA 和 SAS 更高的传输速度,适合高性能计算和数据中心应用。
  • 并行化:NVMe 支持多队列和并行操作,提高了 SSD 的性能。
  • 直接与 CPU 通信:NVMe 通过 PCIe 通信,减少了数据传输的延迟。

IDE(Integrated Drive Electronics)

IDE 是一种老式的硬盘接口类型,主要用于较旧的计算机系统。

  • 并行接口:IDE 是一种并行接口,使用较宽的数据线。
  • 过时:IDE 现在很少使用,已被 SATA 取代。

总结

选择硬盘接口取决于你的硬件和性能需求。对于消费级计算机,SATA 是最常用的;对于企业级存储,SAS 和 NVMe 是更好的选择。

IDE(已经淘汰---也叫ATA)
SATA (Serial ATA),是当前主流的一种硬盘接口  
SCSI(小型计算机的接口--很少了) 
SAS代替了scsi (Serial Attached SCSI),当前SAS接口居多

IDE和SATA的区别:

  • 接口不同,传输的速率不同。IDE根据规范,最高到133MB/s, 而SATA3.0,可达6Gb/S,速度差距巨大
  • SATA支持热插拔

SAS与SCSI的区别

  • 接口不同
  • SAS兼容SATA,SCSI不兼容SATA

四.Liunx系统磁盘与分区命名方式

在Linux系统中,硬盘设备通常使用一些标准的命名约定。这些约定基于设备的类型、连接方式以及系统内的位置。以下是一些常见的硬盘设备命名约定:

  1. 传统命名方法:

    • 在许多Linux发行版中,硬盘设备的名称通常以字母开始,后跟数字。
    • 最常见的硬盘设备命名方式是 /dev/sdX,其中 s 代表 SCSI(尽管现代系统中的大多数硬盘使用SATA,但命名方式继承自SCSI),X 是从 a 开始的字母,依次表示系统中的每个硬盘。例如,第一块硬盘是 /dev/sda,第二块是 /dev/sdb,以此类推。
  2. 分区命名:

    • 在传统的硬盘设备命名基础上,如果硬盘被分为多个分区,那么分区会在硬盘名称后面加上数字。例如,第一块硬盘的第一个分区是 /dev/sda1,第二个分区是 /dev/sda2,以此类推。
  3. 使用by-uuidby-label命名:

    • /dev/disk/ 目录下,你会找到按 UUID(Universally Unique Identifier)或标签命名的设备。UUID在格式化分区时生成,并且是唯一的;标签是你可以为分区设置的名称。
    • 按 UUID 命名的硬盘设备可能看起来像这样:/dev/disk/by-uuid/123e4567-e89b-12d3-a456-426614174000
    • 按标签命名的硬盘设备可能看起来像这样:/dev/disk/by-label/MyLabel
  4. 特殊设备命名:

    • 有时,你可能会看到一些特殊设备命名,比如 /dev/nvmeXnY,其中 nvmeX 表示 NVMe 硬盘,nY 表示硬盘上的命名空间。
    • 其他特殊命名方式包括 /dev/mmcblkX(用于 MMC/SD 卡)和 /dev/loopX(用于 loopback 设备)。

总之,设备命名方式取决于硬盘的类型、连接方式、分区以及其他特性。了解这些命名约定可以帮助你更好地管理和配置硬盘设备。

五.分区

在Linux系统中,硬盘分区通常用于将一块硬盘分成多个部分,以实现更好的数据管理、隔离、安全和性能优化。以下是有关硬盘分区的基础知识,以及可以创建的分区数量的详细信息。

分区的目的

  1. 文件分类
    • 分区可以帮助组织和管理文件。例如,将操作系统文件与用户数据文件分开。
  2. 多操作系统
    • 多个分区允许在同一硬盘上安装多个操作系统。
  3. 数据隔离
    • 将数据隔离在不同的分区中有助于减少数据损失的风险。即使一个分区损坏,其他分区可能仍然可以访问。
  4. 备份和恢复
    • 分区可以用于备份和恢复,使得数据更易于管理和恢复。
  5. 权限和安全
    • 分区可以用来设置不同的权限和访问控制,以提高安全性。

分区格式

磁盘分区的格式指的是分区的结构和布局,它决定了数据在磁盘上的组织方式、系统的启动方式,以及分区的操作功能。以下是常见的分区格式:

  • MBR(Master Boot Record)
    • 分区命令:fdisk
    • MBR分区表最多支持四个主分区,或者三个主分区和一个扩展分区。扩展分区可以包含多个逻辑分区。理论上,可以在扩展分区中创建多达 128 个逻辑分区,但实际上常见的限制在 10 至 16 个左右。由于其局限性,MBR已逐渐被更现代的GPT所取代。
    • MBR的缺点是它只能支持最大2 TB的磁盘容量,且不支持现代的启动功能,如UEFI的Secure Boot。
  • GPT(GUID Partition Table)
    • 分区命令:gdisk(parted---RHEL6)
    • GPT分区表是现代硬盘的标准,GPT大于小于2TB都可以,支持更大的硬盘容量和更多的分区。GPT允许最多128个分区。
    • GPT是较新的分区格式,能够支持更大的磁盘容量(高达18 EB),同时支持更多的分区(最多128个主分区)。

选择分区格式时,主要取决于操作系统和硬件要求。如果你的系统支持UEFI(如较新的Windows或Linux发行版),使用GPT格式通常是更好的选择。如果你在较旧的系统上运行或需要兼容性,则可能需要使用MBR格式。

分区格式与文件系统不同,文件系统是定义数据在分区内的组织方式,如FAT32、NTFS、ext4等。通常在设置磁盘分区后,需要选择合适的文件系统来格式化分区,以便存储数据。

分区类型

磁盘分区是指将物理硬盘划分为多个独立的逻辑区域,每个区域可以被视为独立的磁盘。这样做的原因包括提高数据管理效率、增强系统安全性、支持多操作系统以及优化性能等。

分区的主要类型包括:

  1. 主分区(Primary Partition):这是主要的启动分区,通常系统会安装在这里。一个磁盘可以有多个主分区。

  2. 扩展分区(Extended Partition):由于传统的MBR(主引导记录)格式最多允许4个主分区,所以使用扩展分区来创建多个逻辑分区。

  3. 逻辑分区(Logical Partition):这些分区是扩展分区内的分区,通常用于存储数据或者安装其他操作系统。

文件系统

Linux 文件系统

Liunx文件系统是指Linux 操作系统用来管理和组织数据的结构和机制。文件系统负责存储、检索和操作文件和目录,并确保数据的完整性和安全性。Linux 支持多种文件系统,以下是最常见的 Linux 文件系统:

  1. ext4(Fourth Extended File System)

    • 是最流行的 Linux 文件系统之一,作为许多 Linux 发行版的默认文件系统。
    • 提供良好的性能、稳定性和兼容性。
    • 支持大文件和大分区,具有日志记录、延迟分配、在线碎片整理等特性。
  2. XFS:

    • 是一个高性能文件系统,特别适合大规模存储和高吞吐量应用。
    • 支持在线扩展,但不支持在线缩小。
    • 通常用于服务器和数据中心环境。
  3. Btrfs(B-tree File System):

    • 是一个先进的文件系统,支持快照、子卷、在线压缩、数据校验等功能。
    • 设计用于高级存储管理,适合用作文件服务器和存储系统。
    • 具有在线缩小和扩展的能力。
  4. F2FS(Flash-Friendly File System):

    • 专为闪存存储(如 SSD 和 eMMC)设计。
    • 优化了闪存的读写操作,适用于移动设备和固态硬盘。
  5. ZFS:

    • 是一个功能丰富的文件系统和逻辑卷管理器,支持快照、复制、数据校验、压缩等功能。
    • 最初由 Sun Microsystems 开发,现在在 Linux 上也可用。
    • 适用于需要高级存储管理的环境。
  6. ISO 9660 和 UDF(Universal Disk Format):

    • 用于光盘和 DVD 等光学介质的文件系统。
    • ISO 9660 适用于标准 CD,UDF 通常用于 DVD 和蓝光光盘。
Windows 文件系统(扩展了解)
  1. FAT32(File Allocation Table 32):

    • Windows 中的老式文件系统,也用于许多外部存储设备。
    • 单个文件的最大尺寸为 4 GB,最大分区大小为 2 TB。
    • 兼容性高,广泛用于USB驱动器、存储卡等,但不支持高级权限和安全特性。
  2. NTFS(New Technology File System):

    • Windows 的默认文件系统,支持权限管理、压缩、加密、文件恢复等功能。
    • 支持非常大的文件和分区。
    • 非 Windows 系统通常需要额外的工具才能完全支持 NTFS。
  3. exFAT(Extended File Allocation Table):

    • 结合了 FAT32 的兼容性和 NTFS 的大文件支持。
    • 跨平台兼容性高,适用于外部存储设备。
  1. tmpfs 和 ramfs:

    • tmpfs 在内存中创建临时文件系统,适用于存储临时文件。
    • ramfs 也是内存文件系统,但不会自动释放内存,需要小心使用。

注意事项
  • 在一个分区上不能混合使用不同的分区格式或文件系统,可以在不同的分区使用不同的格式和文件系统
  • 更改分区格式或文件系统可能导致数据丢失或损坏,因此请确保备份重要数据。
  • 如果需要在不同文件系统之间切换,应使用适当的工具。
inode

在文件系统中,inode(索引节点)是一种数据结构,用于描述文件的元数据,而不直接存储文件内容。inode 通常包含以下信息:

  • 文件类型(例如,普通文件、目录、符号链接等)
  • 文件权限和所有权(包括用户ID和组ID)
  • 文件大小
  • 文件创建、修改和访问的时间戳
  • 链接数(指向该inode的硬链接数)
  • 数据块指针,用于定位文件数据在磁盘上的存储位置

每个文件和目录在文件系统中都有一个唯一的inode编号,通过这个编号,文件系统可以检索文件的相关信息。

  1. 使用ls -i命令: 通过在终端中使用ls -i,可以查看每个文件和目录的inode编号。例如:

    ls -i /path/to/directory

    这将显示给定目录中的文件及其对应的inode编号。

  2. 使用stat命令stat命令提供了有关文件或目录的详细信息,包括inode编号、文件权限、大小等。例如:

    stat /path/to/file

    这会显示指定文件的完整信息,包括inode编号。

  3. 查看文件系统的inode信息: 可以使用df -i命令来查看整个文件系统的inode使用情况。例如:

    df -i

    这个命令会显示每个挂载点的inode使用情况,包括已使用和可用的inode数量。

硬盘的实际分区数量限制

尽管 GPT 理论上支持 128 个分区,但硬盘的最大分区数量还受以下因素的影响:

  1. 操作系统限制:某些操作系统可能对分区数量有限制。
  2. 分区管理工具限制:一些分区管理工具可能无法处理过多的分区。
  3. 管理复杂性:创建过多的分区会使硬盘管理复杂化。

关于65535个分区

  • 对于一块硬盘而言,理论上可以创建65535个分区,但这是不常见的情况。通常,操作系统和硬件对分区数量有一定的限制,而且在实际使用中,大量分区会增加复杂性和管理难度。
  • GPT通常被认为是最灵活和实用的分区表方案,因为它支持更多分区,并且解决了MBR在硬盘容量方面的局限性。

注意:从MBR转到GPT,或从GPT转换到MBR会导致数据全部丢失!因为转换格式要格式化硬盘。

因此,虽然理论上可能创建大量分区,但在实践中,128个分区的GPT已经满足大多数需求。如果你有特殊的用途,可能需要考虑特定的硬件和操作系统的限制,以及如何高效管理大量分区。

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

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

相关文章

新唐的nuc980/nuc972的开发3-官方源码编译

上一节中bsp已经安装,交叉环境已经搭建,理应就可以正常的编写上层的应用程序啦。 但是系统启动次序是- uboot-> kernel内核 ->挂载文件系统 ->上层应用程序 下面是bsp安装后的文件: 因此本章节,将讲解 uboot-> kerne…

MySql-日期分组

一、分别统计各时间各类型数据条数 数据库的 request_time字段 数据类型:timestamp 默认值:CURRENT_TIMESTAMP 例子: 2024-01-26 08:25:48 原数据: 1、将数据按照日期(年月日)形式输出 按照request_…

C语言:文件操作(下)

片头 嗨!小伙伴们,在前2篇中,我们分别讲述了C语言:文件操作(上)和 C语言:文件操作(中),今天我们将会学习文件操作(下),准…

电商技术揭秘四十一:电商平台的营销系统浅析

相关系列文章 电商技术揭秘相关系列文章合集(1) 电商技术揭秘相关系列文章合集(2) 电商技术揭秘相关系列文章合集(3) 文章目录 引言一、用户画像与精准营销用户画像与精准营销的概念用户画像在精准营销中…

基于FPGA的数字信号处理(7)--如何确定Verilog表达式的位宽

一般规则 很多时候,Verilog中表达式的位宽都是被隐式确定的,即使你自己设计了位宽,它也是根据规则先确定位宽后,再扩展到你的设计位宽,这常常会导致结果产生意想不到的错误。比如: timescale 1ns/1ns mod…

Docker命令(持续更新)

目录 下载和安装 安装必要的依赖项 添加Docker仓库 安装Docker Engine 启动Docker服务 配置阿里云镜像 卸载Docker 镜像 删除指定id镜像 删除所有镜像 镜像保存本地 本地镜像加载到docker服务器内 容器 创建容器 查看所有容器 停止所有容器 启动已存在容器 删…

从键入网址到网页显示,期间发生了什么?

从键入网址到网页显示,期间发生了什么? 孤单小弟【HTTP】真实地址查询【DNS】指南帮手【协议栈】可靠传输【TCP】远程定位【IP】两点传输【MAC】出口【网卡】送别者【交换机】出境大门【路由器】互相扒皮【服务器与客户端】相关问答 不少小伙伴在面试过程…

【千帆平台】AppBuilder工作流编排新功能体验之创建自定义组件

欢迎来到《小5讲堂》 这是《千帆平台》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言工作流编排组件 创建组件组件界面组件信息 组件画布操作节点…

Liunx发布tomcat项目

Liunx在Tomcat发布JavaWeb项目 1.问题2.下载JDK3.下载Tomcat4.Tomcat本地JavaWeb项目打war包、解压、发布5.重启Tomcat,查看项目 1.问题 1.JDK 与 Tomcat 版本需匹配,否则页面不能正确显示 报错相关:Caused by: java.lang.ClassNotFoundException: java…

Tag文件与Tag标记

一、Tag文件 Tag文件与JSP文件很类似,可以被JSP页面动态加载调用,实现代码的复用,但用户不能通过该Tag文件所在Web服务目录直接访问Tag文件 1、文件结构 Tag文件是扩展名为.tag的文本文件,其结构和JSP文件类似。一个Tag文件中可…

十一、大模型-Semantic Kernel与 LangChain 的对比

Semantic Kernel 与 LangChain 的对比 Semantic Kernel 和 LangChain 都是用于开发基于大型语言模型(LLM)的应用程序的框架,但它们各有特点和优势。 基本概念和目标 Semantic Kernel 是一个由微软开发的轻量级 SDK,旨在帮助开发…

nginx版本号隐藏

隐藏Nginx版本号的主要作用是增强服务器的安全性。当Nginx的版本号被隐藏时,攻击者就难以利用已知的漏洞来攻击特定版本的软件,因为他们无法确切知道服务器上运行的Nginx版本。这样可以降低攻击者对系统的了解,增加攻击的复杂性,从…

【大模型系列】大模型的上下文长度解释与拓展

文章目录 1 什么是大模型的上下文长度?2 拓展大模型上下文长度的方式参考资料 1 什么是大模型的上下文长度? 大模型的上下文长度(Context Length)是指在自然语言处理(NLP)的大型语言模型(Large…

《QT实用小工具·四十四》支持图片和动图的文本编辑器

1、概述 源码放在文章末尾 该项目实现了一个功能丰富的文本编辑器,除了包含文本常规的编辑功能,还包括图片的插入功能和动图的插入功能,项目demo演示如下所示: 项目部分代码如下所示: #include "imagehelper.…

【Linux网络编程】DNS、ICMP、NAT技术、代理服务器+网络通信各层协议总结

DNS、ICMP、NAT技术、代理服务器网络通信总结 1.DNS2.ICMP协议2.1ping命令2.2traceroute命令 3.NAT技术4.NAT和代理服务器5.网线通信各层协议总结 点赞👍👍收藏🌟🌟关注💖💖 你的支持是对我最大的鼓励&…

第七篇:专家级指南:Python异常处理的艺术与策略

专家级指南:Python异常处理的艺术与策略 1 引言 在编程的世界中,异常处理是一门必修的艺术。它不仅涉及到程序的错误处理,更广泛地影响着软件的稳定性、健壮性和用户体验。本篇文章将深入探讨Python中的异常处理,展示如何通过精心…

瘦身秘籍:如何使用 PyInstaller 打造超小型 Python 可执行文件

你是否曾经尝试过将你的 Python 程序打包成一个可执行文件,却发现生成的文件大得惊人?别担心,本文将教你如何使用 PyInstaller 尽可能减小生成的 onefile 大小,让你的程序轻盈如风! 1. 使用虚拟环境 首先&#xff0c…

边循环边删除List中的数据

List边循环,边删除;这种一听感觉就像是会出问题一样,其实只要是删除特定数据,就不会出问题,你如果直接循环删除所有数据,那可能就会出问题了,比如: public static void main(String[…

基于RK1126的小型化低功耗AI相机,支持人体特征识别、人脸特征识别、案例帽识别等

提供可定制的⼀套 AI相机软硬件开发平台, 硬件采⽤ RockchipRV1126处理器解决 ⽅案,可选择搭配 SonyIMX系列传感器,POE供电与数据传输,采⽤ 38板标准结构设计,快速按需定制外壳,⽀撑从开发到验证到批量⽣产…

Redis集群模式:高可用性与性能的完美结合!

【更多精彩内容,欢迎关注小米的微信公众号“软件求生”】 大家好,我是小米,一个积极活泼、喜好分享技术的29岁程序员。今天我们来聊聊Redis的集群模式,以及它是如何实现高可用的。 什么是Redis集群模式? Redis的集群模式是为了避免单一节点负载过高导致不稳定的一种解决…