10.28学习

1.数据存储方式

①硬盘驱动器(HDD)存储:

传统的机械硬盘,使用旋转磁盘来存储数据。

②固态硬盘(SSD)存储:

使用闪存技术,没有移动部件,读写速度更快,耐用性更高。

③网络附加存储(NAS):

连接到网络的存储设备,允许多个用户和设备访问存储在其中的数据。

④存储区域网络(SAN):

高速网络,连接服务器和存储设备,提供高性能的数据访问。

⑤云存储:

数据存储在远程服务器上,可以通过互联网访问。例如,Amazon S3、Google Cloud Storage、Microsoft Azure等。

⑥数据库:

包括关系型数据库(如MySQL、PostgreSQL、Oracle)和非关系型数据库(如MongoDB、Cassandra)。

⑦对象存储:

存储非结构化数据,如图片、视频等,通常用于大规模数据存储。

⑧磁带存储:

用于长期数据存档,成本较低,但访问速度慢。

⑨内存存储:

利用RAM进行数据存储,访问速度极快,但断电后数据会丢失。

⑩光存储:

如CD、DVD、Blu-ray等,用于数据的长期保存。

⑪分布式文件系统:

如HDFS(Hadoop Distributed File System),用于大规模数据集的存储和处理。

⑫数据湖:

存储大量原始数据的系统,支持多种数据类型和格式。

⑬内存数据库:

如Redis、Memcached,提供快速的数据访问。

⑭持久化内存存储:

如Intel的Optane,结合了RAM的速度和硬盘的持久性。

⑮区块链存储:

利用区块链技术进行数据存储,提供去中心化和不可篡改的特性。

 

2.数据溢出

数据溢出(Data Overflow)通常指的是在计算机编程和数据处理中,当一个变量或存储空间被赋予了超出其能够容纳的数据量时发生的情况。这可能会导致数据丢失、程序错误或系统崩溃。以下是几种常见的数据溢出类型:

①整数溢出:

发生在整数值超出了该类型能够表示的最大或最小范围时。例如,一个8位的无符号整数只能表示0到255的值,如果计算结果为256,就会发生溢出。

②缓冲区溢出:

当程序向一个固定长度的缓冲区写入的数据超过了其大小限制时,额外的数据可能会覆盖相邻的内存区域,这可能导致安全漏洞,如执行任意代码。

③堆栈溢出:

程序在调用函数时,会将局部变量和返回地址等信息压入堆栈。如果递归调用太深或局部变量使用过多,可能会耗尽堆栈空间,导致堆栈溢出。

④浮点数溢出:

当浮点数的绝对值过大,超出了浮点数类型能够表示的范围时,结果可能会变成“无穷大”(Infinity)或“非数字”(NaN)。

⑤数组索引溢出:

在访问数组时,如果索引值超出了数组的实际大小,就可能访问到未定义的内存区域,导致未定义行为。

⑥内存溢出:

程序申请的内存超过了系统可用的内存,导致无法分配更多的内存空间。

 

3. switch语句

switch  语句是编程中常用的控制流语句,用于基于不同的情况执行不同的代码块。

知识点:

①基本结构:

 switch  语句允许你基于一个表达式的值来执行不同的代码块。

②表达式:

 switch  语句中的表达式会被计算一次,然后与  case  标签进行比较。

③case  标签:

 case  后面跟着的值必须与  switch  表达式的值相匹配,才能执行相应的代码块。

④default  子句:

 default  是可选的,如果没有匹配的  case ,就会执行  default  代码块。

⑤break  语句:

每个  case  代码块的末尾通常包含一个  break  语句,以防止代码继续执行到下一个  case 。

⑥fall-through :

如果故意省略  break , switch  会继续执行下一个  case  的代码,这称为  fall-through 。

⑦switch  表达式:

在一些现代编程语言中,如C# 8.0和Java 12, switch  可以是一个表达式,返回值而不仅仅是控制流。

⑧类型限制:

 switch  表达式的值通常限制为整数类型、枚举类型、字符串或某些语言中的其他类型。

⑨多重  case :

在一些语言中,你可以在单个  case  后面列出多个值,它们共享同一个代码块。

⑩switch  嵌套:

可以在一个  switch  语句内部再使用另一个  switch  语句。

⑪性能:

 switch  语句通常比多个  if-else  语句执行得更快,因为它们可以被编译成跳转表。

⑫可读性:

对于多个条件分支, switch  语句通常比  if-else  链更清晰易读。

⑬语言差异:

不同编程语言对  switch  语句的支持和行为可能有所不同。

⑭空  case :

空的  case  代码块是允许的,但通常不推荐,因为它可能导致代码错误。

⑮switch  语句的范围:

 switch  语句本身不定义作用域,但每个  case  或  default  可以有自己的局部变量。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值