目录
- 输入设备,就是用相关的硬件把信息输入到电脑中,比如有键盘,鼠标,麦克风等,标准输入设备是键盘(将现实中的物理信号,比如光信号,电信号,波信号,变为数字,然后存储到内存中)
- 输出设备,比如音响,打印机等,标准的输出设备是屏幕(将数字变为物理信号)
- 内存,也称运行内存,比如我们买手机时的8+256G,其中8G就是内存,而程序中处理的信息都是要放在内存中的,它的容量较小,但是运行速度是很快的,而且它如果断电,那么数据就会消失,如果想做到关机之后数据不消失,就得看外存了
- 外存,比如硬盘,U盘这些都是外部存储器,手机的256G就是外存的容量,外存的大小比较大,但是运行速度比较慢,断电后数据不会消失,操作系统的文件都是在硬盘中存储
- CPU,是电脑的中央处理器,类似人的大脑,它是来控制计算机的,比如运行什么程序,和该如何运行,它是跟内存来打交道的,是从内存中去读取和输出数据的,不能直接从硬盘读取数据
常见的I/O设备
显示器(O),触屏显示器(I/O),鼠标(I),键盘(I),摄像头(I),扬声器(O),硬盘(I/O)
计算机的存储体系
易失存储
- 断电后不存在
- 跨进程管理,被抽象出的变量和对象(本质是编程语言对硬件中内存的抽象)
持久化存储
- 断电后一般仍旧能保存
- 通常可以跨进程读写
存储速度的差异
- 自上而下,存储速度递减,并且读写速度越快,价格越高,所以弄出专门的存储体系
- 内存(Memory)又被称为RAM,支持以O(1)时间复杂度,根据下标(内存地址)访问的存储
硬盘的实现
- 磁盘(利用磁性实现的一种存储方式)
- 固态硬盘(Soild State Disk SSD)
- 闪存(Flash Memory)
- 主要硬盘都是指磁盘
软件方面认识
- 软件方面不去考虑硬盘本身,只考虑硬盘中的数据(有数据存储的,没有数据存储的)
- 文件是对硬盘中数据的抽象概念
- 所以硬盘的读写问题变成文件的读写问题
OS+文件系统(FileSystem)统一管理文件
- 文件以树形结构进行管理(不是二叉树)
- 文件分为两种
- 存储数据的文件——普通文件(俗称的文件),在Window OS 下,以文件后缀(file suffiex)来标记这个文件存储的内容是什么内容(*.txt 普通文本 *.docx Word 文档)
- 管理树形结构组织数据的文件——目录/文件夹(directory/dir),以/结束,代表这个结点是目录
- 这个文件树只是一个逻辑结构,而不是硬盘上的物理结构
文件的路径
- 关于文件的路径(Path):根据一个规则,从文件树上唯一确定一个位置这个位置一定对应某个结点,但是这个结点可以不存在
路径的分类
- 绝对路径(absolute path):从一棵树的根节点出发描述的路径
- 相对路径(relative path) :从我们所在的位置出发,所描述的路径(我们的位置一定是一个目录,不能处在一个文件上)
每个进程都有一个当前工作目录,一般一个进程的启动目录就是当前的工作目录
- 在JAVA字符串中\不能直接写\,因为在字符串中反斜杠,表示转义的意思,所以在JAVA中\应该写成\\ 比如"E:\\JAVA代码"
- Windows中使用\作为路径分隔符,Linux使用/作为路基分隔符,JAVA是跨平台的语言,所以我们在代码中写/或者\\都是可以的,比较推荐使用/ "E:/JAVA代码"