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

day017-磁盘管理-实战

文章目录

  • 1. 硬盘命名规则
  • 2. 添加硬盘
    • 2.1 查看硬盘名称
  • 3. 硬盘分区
    • 3.1 分区命名规则:mbr分区表格式
    • 3.2 创建分区:fdisk
      • 3.2.1 fdisk -l:查看硬盘及分区信息
      • 3.2.2 fdisk /dev/sdc :为该硬盘分区
      • 3.2.3 创建扩展分区和逻辑分区
      • 3.2.4 保存设置并退出
    • 3.3 删除分区
    • 3.4 mbr磁盘分区知识
  • 4. 分区格式化
    • 4.1 创建分区
    • 4.2 格式化文件系统:xfs
  • 5. 挂载
    • 5.1 临时挂载
    • 5.2 永久挂载
      • 5.2.1 fstab文件
      • 5.2.2 写入配置文件
  • 6. mbr和gpt
    • 6.1 parted命令
  • 7. raid
    • 7.1 raid 0
    • 7.2 raid 1
    • 7.3 raid 5
    • 7.4 raid 10
  • 8. 踩坑记录
    • 8.1 开机进入紧急模式
  • 9. 思维导图

1. 硬盘命名规则

  • sas、sata、scsi接口:/dev/sd……
  • 虚拟化(kvm、openstack),云服务器:/dev/vd……
  • 固态硬盘(物理服务器):/dev/nvme……

以scsi接口的硬盘为例:

第1块硬盘名:/dev/sda

第2块硬盘名:/dev/sdb

……

2. 添加硬盘

  • 点击虚拟机右下角硬盘图标,并点击设置:

在这里插入图片描述

  • 添加硬盘

在这里插入图片描述

  • 按默认选择即可,最后点击确定
  • 最后重启系统

2.1 查看硬盘名称

  • 方法一:直接在/dev目录下查找
  • 方法二:lsblk,显示硬盘信息(推荐)
[root@oldboy99-Kylin ~]# ll /dev/sd*
brw-rw---- 1 root disk 8,  0  519 19:12 /dev/sda
brw-rw---- 1 root disk 8,  1  519 19:12 /dev/sda1
brw-rw---- 1 root disk 8,  2  519 19:12 /dev/sda2
brw-rw---- 1 root disk 8, 16  519 19:12 /dev/sdb
brw-rw---- 1 root disk 8, 32  519 19:12 /dev/sdc
[root@oldboy99-Kylin ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part ├─klas-root   253:0    0 65.1G  0 lvm  /├─klas-swap   253:1    0  2.1G  0 lvm  [SWAP]└─klas-backup 253:2    0 31.8G  0 lvm  /backup
sdb               8:16   0  2.9T  0 disk 
sdc               8:32   0    1G  0 disk 
sr0              11:0    1  4.3G  0 rom  
  • 刚才添加了1G硬盘,明显是sdc。

3. 硬盘分区

  • 硬盘分区相当于将硬盘空间分为多个区域,每个区域存储不同业务的文件。

3.1 分区命名规则:mbr分区表格式

  • 分区号:1-4,默认最多有4个主分区
  • 最后一个可以为拓展分区
  • 拓展分区可以被逻辑分区划分,逻辑分区号从5开始

第1个分区:/dev/sda1

第2个分区:/dev/sda2

……

  • 要区分硬盘名字和分区名字。
  • 分区名后面有数字

3.2 创建分区:fdisk

  • fdisk该命令是非常安全的,对硬盘的设置会默认先保存在内存中,最后要保存配置(w)程序才会对硬盘做出响应。

3.2.1 fdisk -l:查看硬盘及分区信息

[root@oldboy99-Kylin ~]# fdisk -l
Disk /dev/sda:100 GiB,107374182400 字节,209715200 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfb36b180设备       启动    起点      末尾      扇区 大小 Id 类型
/dev/sda1  *       2048   2099199   2097152   1G 83 Linux
/dev/sda2       2099200 209715199 207616000  99G 8e Linux LVM
……

3.2.2 fdisk /dev/sdc :为该硬盘分区

[root@oldboy99-Kylin ~]# fdisk /dev/sdc 欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。设备不包含可识别的分区表。
创建了一个磁盘标识符为 0xe7e673ce 的新 DOS 磁盘标签。命令(输入 m 获取帮助):p # print,查看当前硬盘信息,大小:1G
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce命令(输入 m 获取帮助):n # new,新建分区
分区类型p   主分区 (0 primary, 0 extended, 4 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p)# 回车,默认选择主分区将使用默认回应 p。
分区号 (1-4, 默认  1):  # 回车,默认选择分区号1
第一个扇区 (2048-2097151, 默认 2048):  # 回车,默认选择扇区开头位置
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-2097151, 默认 2097151): +100M # 输入分区空间大小创建了一个新分区 1,类型为“Linux”,大小为 100 MiB。命令(输入 m 获取帮助):p
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce设备       启动  起点   末尾   扇区  大小 Id 类型
/dev/sdc1        2048 206847 204800  100M 83 Linux
# 分区创建成功

3.2.3 创建扩展分区和逻辑分区

  • 跟上面一样,注意逻辑分区号是从5开始的
命令(输入 m 获取帮助):n
分区类型p   主分区 (1 primary, 0 extended, 3 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p):e
分区号 (2-4, 默认  2): 
第一个扇区 (206848-2097151, 默认 206848): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (206848-2097151, 默认 2097151): 创建了一个新分区 2,类型为“Extended”,大小为 923 MiB。命令(输入 m 获取帮助):p
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce设备       启动   起点    末尾    扇区  大小 Id 类型
/dev/sdc1         2048  206847  204800  100M 83 Linux
/dev/sdc2       206848 2097151 1890304  923M  5 扩展命令(输入 m 获取帮助):n
所有主分区的空间都在使用中。
添加逻辑分区 5
第一个扇区 (208896-2097151, 默认 208896): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (208896-2097151, 默认 2097151): +300M创建了一个新分区 5,类型为“Linux”,大小为 300 MiB。命令(输入 m 获取帮助):p
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce设备       启动   起点    末尾    扇区  大小 Id 类型
/dev/sdc1         2048  206847  204800  100M 83 Linux
/dev/sdc2       206848 2097151 1890304  923M  5 扩展
/dev/sdc5       208896  823295  614400  300M 83 Linux

3.2.4 保存设置并退出

命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
  • 查看下系统分区
[root@oldboy99-Kylin ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part ├─klas-root   253:0    0 65.1G  0 lvm  /├─klas-swap   253:1    0  2.1G  0 lvm  [SWAP]└─klas-backup 253:2    0 31.8G  0 lvm  /backup
sdb               8:16   0  2.9T  0 disk 
sdc               8:32   0    1G  0 disk 
├─sdc1            8:33   0  100M  0 part 
├─sdc2            8:34   0    1K  0 part 
└─sdc5            8:37   0  300M  0 part 
sr0              11:0    1  4.3G  0 rom  
*************************************************
[root@oldboy99-Kylin ~]# ll /dev/sdc*
brw-rw---- 1 root disk 8, 32  519 19:56 /dev/sdc
brw-rw---- 1 root disk 8, 33  519 19:56 /dev/sdc1
brw-rw---- 1 root disk 8, 34  519 19:56 /dev/sdc2
brw-rw---- 1 root disk 8, 37  519 19:56 /dev/sdc5
  • 很明显的看到刚刚创建的分区sdc1、2、5

3.3 删除分区

# 选择该硬盘进行分区配置
[root@oldboy99-Kylin ~]# fdisk /dev/sdc欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):p # 查看当前分区情况
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce设备       启动   起点    末尾    扇区  大小 Id 类型
/dev/sdc1         2048  206847  204800  100M 83 Linux
/dev/sdc2       206848 2097151 1890304  923M  5 扩展
/dev/sdc5       208896  823295  614400  300M 83 Linux命令(输入 m 获取帮助):d # 有三个分区,默认先删除逻辑分区
分区号 (1,2,5, 默认  5): 分区 5 已删除。命令(输入 m 获取帮助):d
分区号 (1,2, 默认  2): 分区 2 已删除。命令(输入 m 获取帮助):d
已选择分区 1
分区 1 已删除。命令(输入 m 获取帮助):p # 查看下没有分区了
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce命令(输入 m 获取帮助):w # 记得保存当前配置
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。
# 查看下硬盘分区情况
[root@oldboy99-Kylin ~]# lsblk 
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part ├─klas-root   253:0    0 65.1G  0 lvm  /├─klas-swap   253:1    0  2.1G  0 lvm  [SWAP]└─klas-backup 253:2    0 31.8G  0 lvm  /backup
sdb               8:16   0  2.9T  0 disk 
sdc               8:32   0    1G  0 disk 
sr0              11:0    1  4.3G  0 rom  

3.4 mbr磁盘分区知识

  • 主分区,最多4个;
  • 扩展分区无法直接使用,需要在扩展分区中创建逻辑分区;
  • 磁盘分区存放在磁盘的开头:0头0道1扇区(机械硬盘)
  • 1扇区大小:512字节

在这里插入图片描述

4. 分区格式化

  • 格式化,为分区创建文件系统
  • 不同的文件系统存放的文件格式不同
  • 红帽系列:xfs
  • Ubuntu/Debian:ext4
  • 格式化命令:mkfs(make filesystem)
  • 生产环境中,一个硬盘创建一个分区使用即可

4.1 创建分区

[root@oldboy99-Kylin ~]# fdisk /dev/sdc欢迎使用 fdisk (util-linux 2.35.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。命令(输入 m 获取帮助):p
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce命令(输入 m 获取帮助):n
分区类型p   主分区 (0 primary, 0 extended, 4 free)e   扩展分区 (逻辑分区容器)
选择 (默认 p):将使用默认回应 p。
分区号 (1-4, 默认  1): 
第一个扇区 (2048-2097151, 默认 2048): 
最后一个扇区,+/-sectors 或 +size{K,M,G,T,P} (2048-2097151, 默认 2097151): 创建了一个新分区 1,类型为“Linux”,大小为 1023 MiB。命令(输入 m 获取帮助):p
Disk /dev/sdc:1 GiB,1073741824 字节,2097152 个扇区
磁盘型号:VMware Virtual S
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xe7e673ce设备       启动  起点    末尾    扇区  大小 Id 类型
/dev/sdc1        2048 2097151 2095104 1023M 83 Linux命令(输入 m 获取帮助):w
分区表已调整。
将调用 ioctl() 来重新读分区表。
正在同步磁盘。[root@oldboy99-Kylin ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0  100G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   99G  0 part ├─klas-root   253:0    0 65.1G  0 lvm  /├─klas-swap   253:1    0  2.1G  0 lvm  [SWAP]└─klas-backup 253:2    0 31.8G  0 lvm  /backup
sdb               8:16   0  2.9T  0 disk 
sdc               8:32   0    1G  0 disk 
└─sdc1            8:33   0 1023M  0 part 
sr0              11:0    1  4.3G  0 rom  

4.2 格式化文件系统:xfs

  • blkid:查看分区的元数据,uuid和文件系统类型、block大小
# 注意分区名字不要写错
[root@oldboy99-Kylin ~]# mkfs.xfs /dev/sdc1 
meta-data=/dev/sdc1              isize=512    agcount=4, agsize=65472 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=1, sparse=1, rmapbt=0=                       reflink=1
data     =                       bsize=4096   blocks=261888, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=1566, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
# 查看该分区的信息
[root@oldboy99-Kylin ~]# blkid |grep '/dev/sdc1'
/dev/sdc1: UUID="b503e9fc-21f4-4ab3-9c2f-72508091eb2f" BLOCK_SIZE="512" TYPE="xfs" PARTUUID="e7e673ce-01"

5. 挂载

  • 要想使用分区,必须挂载到某个空目录下

5.1 临时挂载

  • mount:挂载命令
  • df -hT:查看文件系统以及挂载点
[root@oldboy99-Kylin ~]# mount /dev/sdc1 /mnt/
[root@oldboy99-Kylin ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  453M     0  453M    0% /dev
tmpfs                   tmpfs     475M     0  475M    0% /dev/shm
tmpfs                   tmpfs     475M  6.9M  468M    2% /run
tmpfs                   tmpfs     475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root   xfs        66G  8.8G   57G   14% /
tmpfs                   tmpfs     475M     0  475M    0% /tmp
/dev/mapper/klas-backup xfs        32G  260M   32G    1% /backup
/dev/sda1               xfs      1014M  202M  813M   20% /boot
tmpfs                   tmpfs      95M     0   95M    0% /run/user/0
/dev/sdc1               xfs      1017M   40M  978M    4% /mnt
  • 临时挂载在重启系统后失效
  • umount:卸载文件系统
  • -lf:强制卸载
[root@oldboy99-Kylin ~]# umount /mnt 
[root@oldboy99-Kylin ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
devtmpfs                devtmpfs  453M     0  453M    0% /dev
tmpfs                   tmpfs     475M     0  475M    0% /dev/shm
tmpfs                   tmpfs     475M  6.9M  468M    2% /run
tmpfs                   tmpfs     475M     0  475M    0% /sys/fs/cgroup
/dev/mapper/klas-root   xfs        66G  8.8G   57G   14% /
tmpfs                   tmpfs     475M     0  475M    0% /tmp
/dev/mapper/klas-backup xfs        32G  260M   32G    1% /backup
/dev/sda1               xfs      1014M  202M  813M   20% /boot
tmpfs                   tmpfs      95M     0   95M    0% /run/user/0

5.2 永久挂载

  • 方法一:/etc/fstab,开机自动挂载的配置文件,推荐使用。
  • 方法二:/etc/rc.local,开机自动运行指定命令的配置文件,将挂载命令写入该文件即可,但是不推荐。

5.2.1 fstab文件

在这里插入图片描述

  • 第一列:文件系统名称/文件系统UUID
  • 第二列:挂载的目录
  • 第三列:文件系统类型
  • 第四列:挂载选项,默认就行(defaults),注意最后有个s
  • 第五列:是否进行备份(dump指令),默认关闭
  • 第六列:是否进行开机检查(硬盘),默认不检查

5.2.2 写入配置文件

/dev/sdc1               /app/data               xfs     defaults        0       0
  • 重启检查下
[root@oldboy99-Kylin ~]# df -hT
文件系统                类型      容量  已用  可用 已用% 挂载点
……
/dev/sdc1               xfs      1017M   40M  978M    4% /app/data
……

6. mbr和gpt

磁盘分区表相同点不同点命令
mbr(Master Boot Record)主引导记录引导系统启动,存放磁盘分区信息主分区、拓展分区、逻辑分区;
支持硬盘空间小于2Tb
fdisk/parted
gpt(GUID Partition Table)GUID分区表引导系统启动,存放磁盘分区信息主分区无限个;
支持2Tb以上的硬盘
gdisk/parted
  • gdisk和fdisk的使用方式基本相同

6.1 parted命令

  • 该命令非常危险,会对硬盘分区直接操作;
  • 一定要注意此时修改的硬盘或分区是否正确
# 对大容量硬盘分区
[root@oldboy99-Kylin ~]# parted /dev/sdb
GNU Parted 3.3
使用 /dev/sdb
欢迎使用 GNU Parted!输入 'help' 来查看命令列表。
(parted) mktable gpt # 创建分区表
警告: 现有 /dev/sdb 上的磁盘卷标将被销毁,而所有在这个磁盘上的数据将会丢失。您要继续吗?
是/Yes/否/No? y   
(parted) p # 查看分区情况
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:3221GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:编号  起始点  结束点  大小  文件系统  名称  标志(parted) mkpart primary 0 100g # 创建主分区,100g的空间
警告: The resulting partition is not properly aligned for best performance: 34s % 2048s != 0s
忽略/Ignore/放弃/Cancel? i  # 解释:生成的分区未正确对齐以获得最佳性能
(parted) p  
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:3221GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:编号  起始点  结束点  大小   文件系统  名称     标志1    17.4kB  100GB   100GB            primary(parted) rm 1  # 删除该分区,指定分区编号
(parted) p  
型号:VMware, VMware Virtual S (scsi)
磁盘 /dev/sdb:3221GB
扇区大小 (逻辑/物理):512B/512B
分区表:gpt
磁盘标志:编号  起始点  结束点  大小  文件系统  名称  标志(parted) q  
信息: 你可能需要 /etc/fstab。

7. raid

  • 独立磁盘冗余阵列,为物理服务器管理硬盘
  • 目标/特点:
  • 获取更多的容量、获取更多的冗余(更高的安全性)、获取更高的性能
  • raid管理这些硬盘的方式:raid级别
raid级别最少需要的硬盘数量安全冗余可用容量性能使用场景举例
raid 01/2几乎没有所有硬盘容量总和读写最快不要求安全,只要求速度数据库从库、
存储从库、
web服务器
raid 12100%所有硬盘容量总和的一半写入速度慢,读取较快只追求安全性,不要求读取速度系统盘、监控服务器
raid 53最多允许1块硬盘损坏损失一块盘的容量写入性能不好,读取速度较快对于速度、安全性要求不高普遍数据库、
存储访问量不高的存储服务
raid 104可以损坏一半所有硬盘容量总和的一半读写很快对于读写、安全性要求都很高高并发或高访问量的数据库主库

7.1 raid 0

  • RAID 0是一种非常简单的的方式,它将多块磁盘组合在一起形成一个大容量的存储。

在这里插入图片描述

7.2 raid 1

  • RAID1是磁盘阵列中单位成本最高的一种方式。因为它的原理是在往磁盘写数据的时候,将同一份数据无差别的写两份到磁盘,分别写到工作磁盘和镜像磁盘,那么它的实际空间使用率只有50%了,两块磁盘当做一块用,这是一种比较昂贵的方案。

在这里插入图片描述

7.3 raid 5

  • RAID5是一种将存储性能、数据安全、存储成本兼顾的一种方案。
  • RAID5模式把校验码信息分布到各个磁盘上,一旦某一块磁盘损坏了,就可以用剩下的数据和对应的奇偶校验码信息去恢复损坏的数据。

在这里插入图片描述

7.4 raid 10

  • RAID10兼备了RAID1和RAID0的优点。首先基于RAID1模式将磁盘分为2份,当要写入数据的时候,将所有的数据在两份磁盘上同时写入,相当于写了双份数据,起到了数据保障的作用。且在每一份磁盘上又会基于RAID0技术将数据分为N份并发的读写,这样也保障了数据的效率。

在这里插入图片描述

8. 踩坑记录

8.1 开机进入紧急模式

在这里插入图片描述

  • 原因:编写/etc/fstab文件有误
  • 输入root密码进入系统,修改文件即可。

9. 思维导图

【金山文档】 思维导图 https://www.kdocs.cn/l/co3I7PtpTYQX

http://www.xdnf.cn/news/535969.html

相关文章:

  • 深入探讨Java中的上下文传递与ThreadLocal的局限性及Scoped Values的兴起
  • c++字符串常用语法特性查询示例文档(一)
  • 包装类(1)
  • 22-内部FLASH
  • java day13
  • JVM 垃圾回收器
  • EX文件浏览器:功能强大的安卓文件管理工具
  • 特征值与特征向量的计算——PCA的数学基础
  • 扫描项目依赖漏洞
  • Go语言八股文之分库分表
  • 中服云生产线自动化智能化调度生产系统:打造智能制造新标杆
  • 前端子项目打包集成主项目实战指南
  • 高校快递物流管理系统设计与实现(SpringBoot+MySQL)
  • 1.3.3 数据共享、汇聚和使用中的安全目标
  • 蓝桥杯框架-LED蜂鸣器继电器
  • 大中型水闸安全监测系统解决方案
  • C++初阶-vector的底层
  • 解决RAGFlow部署中镜像源拉取的问题
  • 单点登录是是什么?具体流程是什么?
  • 计算圆周率 (python)
  • select * from 按时间倒序排序
  • AT_abc401_d [ABC401D] Logical Filling 题解
  • 经典密码学和现代密码学的结构及其主要区别(1)凯撒密码——附py代码
  • 酒店运营中一次性用品选购要点及扬州卓韵酒店用品的专业咨询服务
  • 初识函数------了解函数的定义、函数的参数、函数的返回值、说明文档的书写、函数的嵌套使用、变量的作用域(全局变量与局部变量)
  • C++ 关于C++中IO流的相关内容 stringstream的相关介绍
  • 「卫星百科」四维高景系列卫星
  • 从API到UI:直播美颜SDK中的滤镜与贴纸功能开发与落地方案详解
  • 理解UDP协议
  • 【二分 优先队列】P3611 [USACO17JAN] Cow Dance Show S|普及+