public class HelloWorld {
public static void main(String[] args) {
int a = 5;
int b = 3;
intsum = a + b;
(sum);
}
}
首先这个程序保存在哪里?
我们简单的认为是保存在桌面,其实我们更应该想象它保存在电脑的那个部分。
一台计算机包含下面五个基本部分:1,运算器 2,控制器 3,存储器 4,输入设备 5,输出设备。而在计算机中,保存信息主要靠存储器,而存储器又分为内部存储器和外部存储器,内部存储器就是内存,而外部存储器主要就是磁盘,磁盘又分为硬盘和软盘,而我们电脑中的大部分都是硬盘,这里也分为固态硬盘和传统机械硬盘。
所以我们写的Java源文件就应该存放在我们电脑的磁盘中
那么代码保存到硬盘后呢?
代码被保存到硬盘后,就需要内存与cpu的出现,硬盘,内存,cpu三者之间是数据读取 的关系。当我们执行代码的时候,需要把这段代码从硬盘中读取到内存中,而此时的代码已经变成了二进制文件存储在内存中,现在要继续执行,也就是要执行代码的加法操作,此时的数据a和b,也就是5和3已经是二进制的形式在内存中,现在需要把a和b做加法运算,CPU收到这个指令(将a和b相加),就会去内存中将a和b读取,然后存放到自己的寄存器中,然后由CPU中的运算器去做加法运算,得到的结果依然放到寄存器中。
到这里就会有人问寄存器和运算器是什么了,看下面:
寄存器和运算器是cpu的重点组成部分:
寄存器:寄存器是存储部件,容量非常有限,能存储的数据的大小,现在来说一般有两种,也就是我们常听说的32位和64位,32位的寄存器就能存储4个字节的数据,64位的寄存器就能存储8个字节的数据,另外CPU也分为32位和64位其实就是由其中的寄存器的位数决定的,可想而知,即使是64位的寄存器也干不了啥大事,所以,现在的CPU一般都内置了很多的寄存器,依此来完成比较复杂的操作
运算器:这个是计算的核心,主要的作用就是用来做加减乘除这些运算的,这里你需要知道的一点就是,运算器是没法直接操作内存中的数据的,很容易想到,运算器操作的数据是寄存器中存放的数据。
CPU的特点:对于CPU来说,必须要把数据读取到寄存器中才能做相应的运算,
实际上,程序代码被装载到内存的时候会产生数据和指令两部分,数据我们都知道,指令其实也好理解,指令就是说明程序该怎么执行,对于CPU来说就是告诉CPU该做什么,比如告诉CPU,读取数据a和b,然后再将他们相加,简单讲,CPU就是根据指令干活,指令让怎么做,CPU就怎么做。
所以我们可以发现CPU主要做的四件事:1、从内存中读取数据,然后放到寄存器中 2、把寄存器中的数据写入到内存 3、进行数学运算和逻辑运算(加减乘除,AND,OR) 4、依据相应的条件进行跳转,执行其他指令(一条指令跳转到另外一条指令)
总的来说:就是程序是放在硬盘中的,在运行的时候才会被调入到内存中,也就是说内存中的数据是从硬盘来的,而CPU中寄存器的数据又是从内存中装载进来的,然后CPU会根据相应的指令去操作寄存器中的数据,以此来完成一个程序在计算机中的运行。也就是:程序是在硬盘上,需要把程序加载进内存,然后由CPU去执行