编程语言有很多种,每种都有自己的特点,向windows和linux也是使用编程语言写出来的一种操作底层硬件的软件;但是不管那种语言都是程序员写出来用于给计算机执行的或者说是程序员与计算机之间的交流语言,所以在了解java这门编程语言之前需要先了解计算机是由哪些组件组成的,组件之间是怎样通信的,计算机怎么执行代码命令的对程序员很重要,因为这些东西直接关系到代码的执行速度和安全性。
计算机由运算器、存储器、控制器、输入设备、输出设备五大组件组成
-
运算器和控制器
中央处理器(cpu),是一块超大的集成电路,是一台计算机的运算核心和控制核心,主要包括运算器(算术逻辑运算单元 ALU Arithmetic Logic Unit)和高速缓冲区;此处需要提到的是,java代码在执行的时候会被解析并翻译成指令的形式然后被cpu执行 -
存储器
存储器包含两种,一种是用来保存cpu对数据处理时需要临时保存的数据,一种是长期存储的数据;临时保存的数据放在内存或者叫运存(cpu运行时内存),用于长期保存数据的存储器叫硬盘或者磁盘。
硬盘:长期存储数据,但是由于存储数据是通过磁盘存储每次读取的时候是读写磁头先找到对应的磁道再找到存储块,最后进行读取,因此读取数据的整个时间为:定位磁道时间+定位存储快时间+读取文件时间;其中定位磁道时间最长大概需要100ms
运存:由于磁盘读取数据消耗时间长,速度慢,但是cpu速度很快,如果每次处理运算逻辑都直接从磁盘读取数据的话会导致cpu长期处于一个等待的状态,很浪费cpu资源,所以引入一个处于硬盘和cpu之间的叫做运存的东西,它的运行速度介于cpu和磁盘之间,将cpu运算时需要的数据临时存在运存中,读取的时候从运存中读取数据依次来减少cpu等待时间 -
输入设备
话筒,键盘,鼠标,移动硬盘接口等 -
输出设备
听筒,移动硬盘接口等
简介:对于计算机来说并不认识什么汉语或者英文等,所有东西都是通过文件形式保存,而文件又是通过一定的编码格式保存成文件流的形式,文件流又通过二进制保存到磁盘,上面介绍到的磁盘保存文件实际上是通过磁道中一个个的凹凸不平的面标识成1和0来保存的,所以对于计算机而言只认识0和1,这就是二进制的来源和出现的原因。
二进制格式包括:原码,反码和补码
例如十进制的5用二进制原码表示为0101,但是单单使用这种格式的原码无法表示正负数,所以引入了符号位放在数据的首位其中0表示正,1表示负;故:
-5的原码:1 0101;反码:1 1010;补码:1 1011
目前计算机保存文件的二进制编码格式为补码,因为计算机的cpu进行运算方式只支持加法运算,因为使用补码可以直接拿来计算,简单且节省资源
例如:5-3即5+(-3)
5的补码:1 0111
-3的原码:0 0011 反码:0 1100 补码:0 1101
两者如果都存储的补码的话可以直接拿来相加实现结果计算如:1 0111与 0 1101 相加为:0 0100



