Day20-磁盘管理

Day20-磁盘管理

  • 1. cut 切:
  • 2. 磁盘历史和内外部物理结构介绍
    • 2.1 磁盘发展趋势和实现措施
    • 2.2 磁盘知识的体系结构
    • 2.3 机械磁盘的外部结构
    • 2.4 SSD固态硬盘的外部结构
    • 2.5 固态硬盘内部结构
    • 2.6 缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,量从小到大
    • 2.7 企业生产环境主流磁盘的相关信息对:
    • 2.8 SATA 磁盘与 SAS 磁盘区别
    • 2.9 SSD 固态磁盘接口信息对比
    • 2.10 SSD 固态磁盘与传统机械磁盘优劣势对比
    • 2.11 企业生产工作中磁盘的选型
      • 2.11.1 企业级 SAS 硬盘:
      • 2.11.2 企业级 SATA 硬盘:
      • 2.11.3 SSD 固态盘:
      • 2.11.4 磁盘选购小结:
    • 2.12 特别注意:老男孩老师企业故障案例:09年
    • 2.13 淘宝网 CDN 缓存对象分级存储策略案例
    • 2.14 磁道:track
    • 2.15. 扇区:Sector
    • 2.16. 柱面:Cylinder
    • 2.17 记忆要点:

1. cut 切:

-d 指定分隔符(awk -F)
-f 数字指定哪列,多列可用逗号或-
-c 按字符取内容

指定冒号为分隔符,取第一列

cut -d: -f1 /etc/passwd

取多列:

cut -d ":" -f1,6,7 /etc/passwd

取连续多列(1-3列)

cut -d ":" -f1-3 /etc/passwd

??取出的列带有分隔符???
按字符取

[root@oldboy ~]# echo oldboy|cut -c 1-3     #取1-3个字符
old
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,8-10   #取1-3以及8-10字符
oldold
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,7-10
old old
[root@oldboy ~]# echo oldboy oldgirl|cut -c 1-3,7-  
old oldgirl

2. 磁盘历史和内外部物理结构介绍

2.1 磁盘发展趋势和实现措施

发展趋势实现措施
体积更小存储密度更高
速度更快读写更灵敏的磁头,主轴转数更高,接口更先进
容量更大存储密度更高、介质更好
使用更安全数据保持保护技术

2.2 磁盘知识的体系结构

在这里插入图片描述

2.3 机械磁盘的外部结构

在这里插入图片描述

2.4 SSD固态硬盘的外部结构

在这里插入图片描述

2.5 固态硬盘内部结构

在这里插入图片描述

2.6 缓存在服务器各硬件上的速度和大小对比另类维度图解,从上到下由高速到低速,量从小到大

在这里插入图片描述

在这里插入图片描述

2.7 企业生产环境主流磁盘的相关信息对:

企业生产场景普及程度:SAS>SSD>SATA
单位容量对比性能和价格:SSD>SAS>SATA(一块 SSD和一块 SATA)
单位价格购买磁盘容量:SATA>SAS>SSD

2.8 SATA 磁盘与 SAS 磁盘区别

协议方面:
SATA(Serial Advanced Technology Attachment)串行高级技术附件,SAS(Serial AttachedSCSI)串行 SCSI,SAS 是新一代 SCSI技术。
SAS 接口兼容 SATA,实现 SAS 控制器直接操控SATA 硬盘。
速率方面:
SAS 接口理论传输速度为12Gb/s(300-500MB/S),SATA 理论传输速度为6Gb/s(90-150MB/s)。
硬盘方面:
SAS 硬盘内部盘面采用玻璃材料基板,玻璃基板平整度高,可实现高转速,SAS硬盘转速有两种:10000或 15000转每分钟,但玻材料存储密度低,一般常见容量规格有300GB、600GB、900GB、1.2T、1.8T.
SATA 硬盘内部采用盘面采用铝材料基板,有点事存储密度高,但材料表面平整度差,故 SATA 盘容量比较大,常见容量有 1T、2T、4T、6T、8T、10T,但转速较低,有两种5400 转或 7200 转每分钟。

2.9 SSD 固态磁盘接口信息对比

磁盘接口速率用途
SATA 固态6Gbps企业应用
SAS 固态6Gbps企业应用
msata固态6Gbps为超极本设计
m.2 固态10-32Gbps笔记本电脑,NVME
PCI-E 固态20-32Gbps传输协议通道 AHCI

在这里插入图片描述

2.10 SSD 固态磁盘与传统机械磁盘优劣势对比

项目固态磁盘传统机械磁盘
容量较小
价格
随机存取极快一般
写入次数100-500W 次无限制
盘内阵列极难
工作噪音
工作温度极低较明显
防震很好较差
数据恢复可以
重量

上表是对固态磁盘和传统磁盘特性的一个比较。从中可以看出固态盘的优势和缺点
重要优势:随机存取速度,功耗,防震,重量方面优势很大,特别是存取性能。
重要缺点:容量、价格、写如寿命,数据恢复难。

2.11 企业生产工作中磁盘的选型

磁盘:当前服务器市场:主流磁盘为SAS、SATA、SSD硬盘。

2.11.1 企业级 SAS 硬盘:

当下企业里常见SAS硬盘是10000转或15000转/分。当前主流 300G、600G、1T、1.8T、2.4T,从具体的业务需求及性价比考虑,老男孩老师在早期工作中多用 300G、600G、1T 的SAS 硬盘,比如选 6*300G,6*600G,单盘容量不要太大,除非纯备份!

单盘容量小*多块盘满足需求。

至少3块盘一组:
1.5T 单盘 总容量 1.5T,不可以坏一块盘,读速度1块盘速度。
6*300G raid5 总容量 1.5T,可以坏一块盘。读速度小于6块之和。Web服务器
5*300G raid0 总容量 1.5T,不可以坏一块盘。读速度6块之和。Web服务器、应用服务器(没有单点,集群模式),缺点:维护麻烦。
10*300G raid10 总容量 1.5T,可以坏2块盘。读速度 10 块之和。数据库服务器,存储服务器
根据需求:性能、成本、冗余度

做好RAID满足容量的基础上尽量保持4块磁盘以上。

用途:用于提供生产线上的普通对外提供服务的业务服务器:
例如:生产线上的数据库业务、存储业务、图片业务及相关高并发业务(web http,cache服务),总的来说,如果没有特殊业务需求,SAS磁盘是生产环境首选的的磁盘配置。

2.11.2 企业级 SATA 硬盘:

企业级 SATA 硬盘,7200 转/分,常见的容量为 1T 和 2T、4T、8T,优点是经济实惠,容量大,从具体的业务需求及性价比考虑,老男孩老师在工作中多用SATA 磁盘做线下不提供服务的数据存储或者并发业务访问不是很大的业务应用,比如站点程序及数据库、图片的线下备份等。
特性:容量性价比高,一般2T的SATA 磁盘较佳。
选择 SATA 理由:
1、没钱。
2、数据量少,数据不需要给用户提供服务。
3、用于备份。
邮箱邮件:sata,百度云盘:sata

2.11.3 SSD 固态盘:

特点:容量小,价格贵,速度快。一般用于数据量小并且有超大规模高并发的业务(这不是唯一的办法,还可以通过磁盘加内存缓存的技术方式解决这个大规模并发的问题)
数据库适合使用固态盘。
百度、腾讯、360 核心业务都会采用SSD磁盘,应用层也必须做各种缓存。
大公司如 taobao,某些业务可能会根据数据的热度来综合使用分层存储,以达到性价比最佳的情况。80G SSD+500GSATA

2.11.4 磁盘选购小结:

1)线上业务,用 SAS 磁盘,比如常规业务,Web 服务及应用服务。
2)线下业务,用 SATA磁盘,备份数据,给用户提供邮箱、下载(百度云)
3)线上高并发、数据小容量的业务,SSD磁盘,比如数据库服务。
4)成本控制思想:根据数据的访问热度,智能分析分层存储。SATA+SSD

2.12 特别注意:老男孩老师企业故障案例:09年

不要用 SATA 磁盘来做在线高并发服务的数据存储或数据库业务,这是血的教训的。
某公司采用 SATA 做数据库的存储盘,结果导致数据库连续宕机一个月。
5 台服务器,一堆 SATA 盘,RAID5。
解决:重新买5台,把磁盘从SATA(RAID5)换成SAS(RAID10)。6个月内没事数据库集群。
1、主库改选择用 SAS RAID10(写),从库 SAS Raid(读)。
2、数据库使用的引擎是 MySAM 引擎,改成 Innodb 引擎。

2.13 淘宝网 CDN 缓存对象分级存储策略案例

提出问题:
在存储数据中,18KB以下的对象数量占总数量的80%,而其存储量占总量不到40%;同时,80%经常被访问的对象所占用的存储空间不到总量的20%。
分析问题:
以上的问题意味着“热点数据”(即访问频次高的内容)需要更快的性能,而占的空间并不大,而“冷数据”(访问频次低的内容)所需存储量很大,对性能要求不需要高。
解决问题:
因此,服务器引入分层存储机制,单台服务器(实际会多台)的盘可由一块80GB的 SSD 磁盘和两块 500GB 的 SATA 盘组成。然后把“热数据”存放在 SSD 盘上,“冷数据”存放在 SATA 盘上,冷热数据可以动态调度,从而兼顾性能、容量与成本。另:分层存储调度软件由淘宝开发。
上面的策略是高效,低成本方案,这是我们运维工作需要重视的,实际工作中不可能不考虑成本,而无限制的去提升性能
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

2.14 磁道:track

  1. 磁盘在格式化时被划分成许多同心圆,这些同心圆的轨迹叫做磁道(Track)。
  2. 磁道由盘面从外向内依次从0开始顺序编号。
  3. 磁盘的每一个盘面一般有300~1024个磁道
  4. 有多个扇区组成的。
  5. 磁道大小=扇区大小*扇区数

2.15. 扇区:Sector

  1. 盘面由圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区。
  2. 每个扇区大小一般为512字节。
  3. 扇区看起来就是圆弧或扇形。
  4. 磁盘存放数据的最小单位。
  5. 扇区是磁道上一段圆弧。

扇区三维地址的三个数字:

  1. 扇区所在的磁头、磁道以及扇区号。
  2. 存放数据的数据段,专门存放数据。

2.16. 柱面:Cylinder

  1. 柱面是相同半径,不同盘面的磁道组成。
  2. 柱面的编号和磁道编号一样。。0磁道组成的柱面叫做0柱面。
  3. 柱面大小=磁道大小*磁头数

在这里插入图片描述

在这里插入图片描述

为磁盘相关名词说明

英文:汉语
Disk磁盘
Head磁头
Sector扇区
Track磁道
Cylinder柱面
Units单元块(一个柱面的大小)
Block数据块
Inode索引书点

2.17 记忆要点:

  1. 一块磁盘有2-14个盘片,每个盘片有两个面,每个面对应一个读写磁头,用磁头号来区分盘面,即盘面数就是磁头数,盘片数*2=磁头数(盘面数)。
  2. 不同盘面的磁道被划分为多个扇形区域,每个区域就是一个扇区(Sector)。
  3. 同一个盘面,以盘片中心为圆心,每个不同半径的圆行轨迹就是一个磁道(Track)。
  4. 不同盘面相同半径的磁道组成一个圆柱面就是柱面(Cylinder)。
  5. 一个柱面包含多个磁道(这些磁道的半径相同),一个磁道包含多个扇区。
  6. 数据信息记录可表示为:某磁头,某磁道(柱面),某扇区。

一句话概括
磁道:
每个盘片有两个面,都可记录信息。盘片表面以盘片中心为圆心,用于记录数据的不同半径的圆形磁化轨迹就称为磁道。磁化轨迹是磁化区域,是看不见的。磁道看起来是一个平面圆周形。
扇区:
盘面由圆心向四周画直线,不同的磁道被直线分成许多扇形(弧形)的区域,每个弧形的区域叫做扇区,每个扇区大小一般为512字节,扇区看起来就是圆弧或扇形。
柱面:
磁盘中,不同的盘片(或盘面)相同半径的磁道轨迹从上到下所组成的圆柱型区域就称为柱面,柱面看起来是一个圆柱形。

今天内容:
问答题:全是了解。。。没有重点
1.什么是Disk磁盘?
2.机械磁盘哪些类型和接口?
3.机械磁盘内部结构?
4.固态磁盘接口类型?
5.固态磁盘内部结构?
6.什么是Head磁头?
7.什么是磁道Track?
8.什么是Sector扇区?
9.什么是柱面Cylinder
10.什么是Units单元块? (就是一个柱面的大小)
11.什么是Block?
12.什么是Inode?
13.生产环境如何选择磁盘类型?
14.磁盘的容量计算。
15.磁盘读写数据的原理。

磁盘大小计算:
方法1:
磁盘大小=柱面大小*柱面数
磁盘大小=柱面大小*磁道数
柱面大小=磁道大小*磁头数
磁盘大小=磁道大小*磁头数磁道数
磁道大小=扇区大小*扇区数
**磁盘大小=512字节*扇区数*磁头数
磁道数**

方法2:
磁道大小=扇区大小*扇区数
盘面大小=磁道数*磁道大小
盘面大小=磁道数*扇区大小*扇区数
磁盘大小=盘面大小*磁头数
磁盘大小=512字节*扇区数*磁头数*磁道数

磁盘容量的计算算法
每个盘片有两个面,每个面有一个读写磁头,因此,一般我们习惯用磁头号来区分盘面。扇区,磁道(或柱面)和磁头数构成了磁盘结构的基本参数,通过这些参数可以得到磁盘的容量,
基计算公式为:
计算方法一:
存储容量=磁头数×磁道数(或柱面数)×每磁道的扇区数×每扇区的字节数
计算方法二:
存储容量=柱面大小(每磁道的扇区数×每扇区的字节数×磁头数)*柱面数(磁道数)
提示:一块磁盘的磁道数和柱面数的数量是永远相等的。
举个生产环境MYSQL数据库的磁盘大小计算例子:

[root@mysql-1-2 ~]# fdisk -l
Disk /dev/sda: 598.8 GB, 598879502336 bytes
255 heads, 63 sectors/track, 72809 cylindersUnits = cylinders of 16065(255*63) * 512 = 8225280 bytes#单元Units(柱面单位)=255heads*63sectors/track= 16065*512bytes =8225280bytes (盘面数)*(每磁道扇区数)
#达到容量的磁盘这个数都是固定的(目前测试1G以上是这个结果)。
#总容量==Units * 72809(cylinders)= 8225280 bytes * 72809 =598874411520bytes/(1000*1000)=598874.41152M=598.87441152G
#总容量=柱面大小(255heads磁头数*63sectors/track)\*柱面数

计算实践:

[root@oldboy ~]# echo "scale=2;(63*512*255*1305)/1000000000.00"|bc
10.73
[root@oldboy ~]# awk 'BEGIN{print (63*512*255*1305)/1000000000.00}'
10.734
[root@oldboy ~]# echo 512 63 2610 255|awk '{print $1*$2*$3*$4/1000000000}'
21.468

疑问:不同磁道上的扇区大小,看起来不一样大的。直观感觉越靠外面的磁道扇区越大。
可能有两个原因:
1)数据的存储密度在不同的磁道内可能不同。
2)磁道间隙的密度可能不同,外面小,里面大。
3)现代的硬盘技术更新很快,分布算法已升级。

磁盘大小:
方法1:
512字节*扇区数/每磁道=一个磁道的大小
512字节*扇区数*磁道数=一个盘面的大小
512字节*扇区数*磁道数*磁头数=磁盘的大小
磁盘的大小=磁道数*磁头数*512字节*扇区数

磁盘显示:
磁盘大小=柱面数*柱面大小
磁盘大小=磁道数*(磁道大小*磁头数)
磁盘大小=磁道数*磁头数*512字节*扇区数

磁盘是机械式磁盘:
1)盘片的旋转靠马达带动主轴,机械运动。
2)磁头的径向移动也是靠步进电机来完成的,机械运动。
3)所有的磁头同时同向移动的。
磁盘再读写数据时,尽可能让磁头不动,或者少移动磁头就能读到更多或全部的数据

在这里插入图片描述

机械磁盘读写磁盘数据的原理小结:
1)磁盘是按照柱面为单位读写数据的,即先读取同一个盘面的某一个磁道,读完之后,如果数据没有读完,磁头也不会切换其他的磁道,而是选择切换磁头,读取下一个盘面的相同半径的磁道,直到所有盘面的相同半径的磁道读取完成之后,如果数据还没有读写完成,才会切换其他不同半径的磁道,这个切换磁道的过程称为寻道。
2)不同磁头间的切换是电子切换,而不同磁道间的切换需要磁头做径向运动,这个径向运动需要步进电机调节,这个动作是机械的切换。
磁头寻道是机械运动,切换磁头是电子切换。

今日内容:
1.什么是Disk磁盘?
2.机械磁盘哪些类型和接口?
3.机械磁盘内部结构?
4.固态磁盘接口类型?
5.固态磁盘内部结构?
6.什么是Head磁头?
7.什么是磁道Track?
8.什么是Sector扇区?
9.什么是柱面Cylinder
10.什么是Units单元块? (就是一个柱面的大小)
11.什么是Block?
12.什么是Inode?
13.生产环境如何选择磁盘类型?
14.磁盘的容量计算。
15.磁盘读写数据的原理。

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

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

相关文章

2024现代Android开发趋势

2024现代Android开发趋势 在当今的Android开发领域,我们看到了许多令人兴奋的技术和趋势,这些技术和趋势正在改变着应用程序的开发方式和用户体验。让我们一起深入探讨2024年现代Android开发的主要方向和关键技术。 无处不在的Kotlin Kotlin已经成为An…

202435读书笔记|《半小时漫画中国史》——读点经济学与历史,生活更美好,趣味烧脑土地制度、商鞅变法、华丽丽的丝绸之路这里都有

202435读书笔记|《半小时漫画中国史》——读点经济学与历史,生活更美好,趣味烧脑土地制度、商鞅变法、华丽丽的丝绸之路这里都有 1. 土地政策、度量衡及税收2. 商鞅变法3. 西汉经济4. 西汉盐铁大辩论5. 西汉丝绸之路 《半小时漫画中国史:经济…

吸猫毛空气净化器哪个好?推荐除猫毛效果好宠物空气净化器品牌

当下有越来越多的家庭选择养宠物!尽管家里变得更加温馨,但养宠可能会带来异味和空气中的毛发增多可能会带来健康问题,这是一个大问题! 不想家里弥漫着异味,特别是来自宠物便便的味道,所以需要一款能够处理…

打印100-200之间的素数

#include <stdio.h>int prime(int n){int i 1;for(i 2;i < n;i){if(n % i 0)return 0;}return 1; } //打印100-200之间的素数 int main() {int n 0;int j 100;for(j 100;j < 200;j){if(prime(j)){printf("%d是素数\n",j);n;}}printf("100-200…

【center-loss 中心损失函数】 原理及程序解释(更新中)

文章目录 前言问题引出open-set问题抛出 解决方法softmax函数、softmax-loss函数解决代码&#xff08;center_loss.py&#xff09;原理程序解释 代码运用 如何梯度更新首先了解一下基本的梯度下降算法然后 补充&#xff1a;外围知识模型 前言 学习一下&#xff1a; 中心损失函…

【刷题】位运算

消失的两个数字 消失的两个数字 “单身狗”进阶版思路 class Solution { public:vector<int> missingTwo(vector<int>& nums) {int ret 0;int n nums.size();for(int i 0; i < n; i){ret ^ (nums[i] ^ i);}ret ^ (n ^ (n 1) ^ (n 2));// 按位异或的…

94. 递归实现排列型枚举 刷题笔记

思路 依次枚举 每个位置用哪个数字 要求按照字典序最小来输出 而每次搜索下一层时i都是从1开始 也就是说 如果有小的数可以填上 那么该方案会填上这个数字 例如 当n等于3 第一次搜索 1 2 3输出后返回 返回后此时i3 第二个位置填3 1 3 2 输出后返回 此时返回到第一层…

如何用Python检查时间序列数据是否平稳?

时间序列数据通常以其时间性质为特征。这种时间性质为数据增加了趋势或季节性&#xff0c;使其与时间序列分析和预测兼容。如果时间序列数据不随时间变化或没有时间结构&#xff0c;则称其为静态数据。因此&#xff0c;检查数据是否平稳是非常必要的。在时间序列预测中&#xf…

基于粒子群优化算法的图象聚类识别matlab仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 基于粒子群优化算法的图象聚类识别。通过PSO优化方法&#xff0c;将数字图片的特征进行聚类&#xff0c;从而识别出数字0~9. 2.测试软件版本以及运行结果展示 M…

智能咖啡厅助手:人形机器人 +融合大模型,行为驱动的智能咖啡厅机器人(机器人大模型与具身智能挑战赛)

智能咖啡厅助手&#xff1a;人形机器人 融合大模型&#xff0c;行为驱动的智能咖啡厅机器人(机器人大模型与具身智能挑战赛) “机器人大模型与具身智能挑战赛”的参赛作品。的目标是结合前沿的大模型技术和具身智能技术&#xff0c;开发能在模拟的咖啡厅场景中承担服务员角色并…

Flutter中的三棵树

Widget Tree&#xff1a; 页面配置信息。 Element Tree&#xff1a; Widget tree的实例化对象&#xff0c;创建出renderObject&#xff0c;并关联到element.renderobject属性上&#xff0c;最后完成RenderObject Tree的创建。 RenderObject Tree&#xff1a;完成布局和图层绘制…

自测-1 打印沙漏

文章预览&#xff1a; 题目算法代码 题目 算法 以前做过这个&#xff0c;那次是c语言写的&#xff0c;一点一点处理一层一层完成&#xff0c;这次我换了一种语言用了另一种思想使用递归去写&#xff0c;还是我们要先求出应该有多少层这个很容易&#xff0c;中间输出部分我们算…

STM32标准库——(14)I2C通信协议、MPU6050简介

1.I2C通信 I2C 通讯协议(Inter&#xff0d;Integrated Circuit)是由Phiilps公司开发的&#xff0c;由于它引脚少&#xff0c;硬件实现简单&#xff0c;可扩展性强&#xff0c; 不需要USART、CAN等通讯协议的外部收发设备&#xff0c;现在被广泛地使用在系统内多个集成电路(IC)间…

睡眠问题大揭秘:中医如何轻松解决?

睡眠问题是现代社会普遍存在的难题&#xff0c;它的影响不仅仅局限于个体的疲惫和神经紧张&#xff0c;更深远的是对整体健康的长期威胁。根据世界卫生组织的数据&#xff0c;全球约有三分之一的人口遭受着不同程度的睡眠问题&#xff0c;其中包括失眠、入睡困难、多梦、易醒等…

flutter旋转动画,Android彻底组件化方案实践方法

Android基础 & 常用 针对Android基础&常用知识&#xff0c;我认为对于初级开发者来说&#xff0c;按照优先级最主要的知识点主要包括&#xff1a;四大组件、布局使用、多线程 & 动画&#xff1b;具体介绍如下&#xff1a; 2. Android进阶 针对Android进阶知识&am…

幸运星数(爷再也不想用pow了)

解法&#xff1a; 暴力 #include <iostream> #include <vector> using namespace std; #define endl \nint main() {ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int n;long long sum 0, a;cin >> n;for (int i 1; i < n; i) {a 1;for (in…

NVMe开发——PCIe复位

简介 PCIe中有4种复位机制&#xff0c;早期的3种被称为传统复位(Conventional Reset)。传统复位中的前2种又称为基本复位(Fundamental Resets)&#xff0c;分别为冷复位(Cold Reset)&#xff0c;暖复位(Warm Reset)。第3种复位为热复位(Hot Reset)。第4种复位被称为功能级复位…

队列的结构概念和实现

文章目录 一、队列的结构和概念二、队列的实现三、队列的实现函数四、队列的思维导图 一、队列的结构和概念 什么是队列&#xff1f; 队列就是只允许在一端进行插入数据操作&#xff0c;在另一端进行删除数据操作的特殊线性表&#xff0c;队列具有先进先出 如上图所示&#x…

面经 | Java创建线程的三种方式

利用JUC包创建线程的三种方式&#xff1a; 通过继承Thread类创建线程类实现Runnable接口创建线程类通过Callable和Future接口创建线程 继承Thread类创建线程 class Thread1 extends Thread {Overridepublic void run() {System.out.println("启动线程1");} }实现R…

Fastjson2 <== 2.0.26反序列漏洞

根据Y4TACKER师傅在2023-03-20发布了一篇关于Fastjson原生反序列化的文章&#xff0c;文章中引入注目的是利用条件限制条件&#xff0c;不常常关注漏洞预警或者内容的几乎都是未发觉Fastjson2 到Fastjson2 2.0.26版本都有问题&#xff0c;其实如果单独去使用一些关键词去搜索&a…