JavaWeb——IO、存储、硬盘、文件系统相关常识

目录

一、IO

1、定义

二、存储和硬盘

1、存储

2、硬盘

三、文件系统

1、文件

(1)、定义

(2)、分类

(3)、操作

2、树形结构和目录

3、路径

(1)、定义

(2)、分类


一、IO

1、定义

IO 是指文件的输入和输出,通常是磁盘等需要的接口。运行数据在内存中停留的地方就是CPU核心来执行时涉及到的数据交换的地方。

注:对象不同IO模式也不尽相同,可以分为磁盘IO模型和网络IO模型。

 

IO操作涉及到用户空间和内核空间的转换:

  • 内存空间分为用户空间和内核空间,也称为用户缓冲区和内核缓冲区
  • 用户的应用程序不能直接操作内核空间而是需要将数据从内核空间拷贝到用户空间才能使用
  • 无论是读操作还是写操作,都只能在内核空间中执行
  • 磁盘IO和网络IO请求加载到内存的数据都是先放在内核空间的

二、存储和硬盘

1、存储

存储是指将数据合理安全的保存到某些介质上并保证长时间有效的访问。

文件存储是指数据会以单条信息的形式存储在文件夹中,如果需要访问该数据可以通过相应的路径来查找对应的文件。

2、硬盘

硬盘一般是指电脑硬盘(计算机的主要存储设备),主要用来保存文件数据。

硬盘分为:有数据存储的空间和暂时没有数据存储的空间。

有数据存储的部分可以分为数据1、数据2等,每个数据又可以被分为文件1、文件2等。

文件就是对硬盘中数据的抽象概念,因此硬盘数据的读写就是对文件的读写问题,文件主要由OS + 文件系统统一管理。

硬盘和内存对比:

  • 内存速度比硬盘快
  • 内存空间比硬盘小
  • 内存成本比硬盘贵
  • 内存持久化差,掉电后数据丢失

三、文件系统

1、文件

(1)、定义

狭义上的文件是指:针对硬盘这种持久化存储的I/O设备,当我们想要进行数据保存时,往往不是保存成一个整体,而是独立成一个个的单位进行保存,这个独立的单位就被抽象成文件的概念,就类似办公桌上的一份份真实的文件一般。

文件除了有数据内容之外,还有一部分信息,例如文件名、文件类型、文件大小等并不作为文件的数据而存在,我们把这部分信息可以视为文件的元信息。

(2)、分类

文件可以被分为文本文件、二进制文件和其他文件:

  • 文本文件:存储的是文本,文本文件的内容是由ascii字符构成的。文本文件里存储的数据就是遵守ascii或者其他字符集编码所得到的文件但本质上存的是字符。文本文件可以是 .txt类型、.java类型、.c类型等。
  • 二进制文件:存储的是二进制数据,没有任何字符集的限制。二进制文件可以是 .class类型、.exe类型、.jpg类型、.mp3类型等。

(3)、操作

文件操作系统:创建文件、删除文件、重命名文件、创造目录

文件内容操作:针对文件内容进行读和写

2、树形结构和目录

随着文件的增多,我们可以按照层级结构进行管理文件,也就是相当于数据结构中的树形结构。这样一种专门用来存放管理信息的特殊文件诞生了,也就是我们平时所谓的文件夹或者目录的概念。

JavaWeb——IO、存储、硬盘、文件系统相关常识_第1张图片

文件是以树形结构进行管理的,无论是目录或者文件都只是树上的一个结点,一个结点可以有多个孩子。但这颗文件树只是逻辑结构,而不是硬盘上的物理结构

3、路径

(1)、定义

在文件系统中定位一个唯一的文件可以从树型结构的角度来看,树中的每个结点都可以被一条从根开始,一直到达的结点的路径所描述,而这种描述方式就被称为文件的绝对路径。因此路径就是文件系统上一个文件/目录的具体位置

注:目录(计算机专业术语)==文件夹(通俗说法) 

(2)、分类

路径可以被分为绝对路径和相对路径两种:

  • 绝对路径:从一棵树的根结点处出发的路径,即从盘符开始一层一层往下找,最后总是能够确定一个唯一的文件。
  • 相对路径:从当前所在的位置出发的路径,即从某个特定目录出发,一层一层往下找。但当前位置位置改变路径就可能失效。

注:文件系统上,任何一个文件对应的路径是唯一的,不会存在两个相同的路径但是文件不同的情况。在Linux中可能存在一个文件有两个不同的路径但能找到它,在windows上不存在。windows上可以认为路径和文件是一一对应的,路径就相当于一个文件的双方标识。

路径表示中的两个特殊的符号:“.”和“..”。

  • “.”表示从当前位置开始
  • “..”表示回到当前位置的父结点开始。但该符号在根目录下使用该符号是没效果的,根没有父节点。

注:这两个符号一般在相对路径中使用。

你可能感兴趣的:(JavaWeb,java,web)