(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

众所周知,计算机只认识二进制,也就是0和1,这时软件行业之外的朋友可能会有疑问了,既然计算机只认识二进制,难道你们是用0和1写代码的吗?

(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

要回答这个问题,首先我们要搞清楚我们的手机或者电脑是如何工作的,这就不得不提起我们电子设备的核心部件-------CPU,其实现在我们看到的不是单纯的CPU,。

早期的CPU是由晶体管组成,体型庞大,运算速度也慢,后来随着集成电路的大规模使用以及CPU制作工艺的发展,CPU越做越小,性能也越来越强。发展到现在从功能上来主要分为手机端、pc端以及单片机端CPU,从架构上主要分为X86,X86-64以及ARM,从指令集上来分主要有RISC(精简指令集)和CISC(复杂指令集)。而无论哪种CPU,他们的实现原理都是一样的,通过逻辑门电路来控制高、低电平(分别代表逻辑上的“真”与“假”或二进制当中的“1”和“0”),从而实现逻辑运算其实不只是CPU,其他的电子设备,例如硬盘、U盘、显卡、显示器都是同样的原理。所以正如大家所认为的一样计算机只认识二进制,也就是0和1。

(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

常见门电路

既然计算机只认识0和1,那么程序员在写程序是是否是用0和1写的?显然不是,如果程序员要用0和1来写程序,那得需要多大的脑容量,要知道记住这些二进制代码可比记下来几千位的圆周率数字要难多了,那得多大的脑容量。那么程序员是用什么写程序的呢?程序又是如何变成0和1被计算机执行的呢?

(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

早期的程序员编写程序使用的是汇编语言,这种语言有很多缺点,比如可读性差,不好记忆,工作效率低等,现在这种语言已经很少有人使用了。为了解决汇编语言的种种痛点,产生了高级语言,高级语言是指接近于自然语言的计算机编程语言,在高级语言中可以用if、else等单词来控制逻辑,+、-、*、/运算符来进行运算,大大增加了可读性。以前用汇编很难完成的功能用高级语言很容易就能完成,而且高级语言能够编写出更庞大的程序,而如果用汇编编写这么庞大的程序将是一场灾难,因为汇编的可读性和可维护性太差,会导致项目做到一定程度没人再能看懂以前的代码逻辑。

(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

实现计算1+2+3+……+10 分别由汇编和java实现

那么高级语言是如何变成二进制数据供计算机来执行的呢?首先程序员用高级语言写的代码都是类似于自然语言的代码,代码写完后会首先经过编译器编译,编译器可以理解为是一个翻译程序,将高级语言程序翻译成二进制数据,然后将该二进制程序放到相应的计算机上面。当用户需要运行此程序时,CPU会将这段二进制代码先加载到内存里面,然后CPU会从内存里面依次读取这些代码去执行。这其中最重要的就是编译器,编译器是如何翻译的呢,首先无论哪种高级语言,编译器一般最后都会将这些语言变成汇编语言,然后相应的编译器会根据CPU的指令集将汇编语言翻译成机器码供机器来执行。其中高级语言又分为解释型语言和编译型语言,解释型语言是指在运行之前不需要编译,在程序运行时会由解释器先将代码解释成二进制代码,然后再交给CPU去执行,例如python,php都是解释型语言,而编译型语言是指在运行之前必须要编译的语言,例如C/C++,java都是这种语言。

(java是计算机的高级语言吗)(计算机中java 是一种高级语言)

ARM 存储访问指令表

声明:我要去上班所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,版权归原作者小说IT所有,原文出处。若您的权利被侵害,请联系删除。

本文标题:(java是计算机的高级语言吗)(计算机中java 是一种高级语言)
本文链接:https://www.51qsb.cn/article/m8f96.html

(0)
打赏微信扫一扫微信扫一扫QQ扫一扫QQ扫一扫
上一篇2023-01-04
下一篇2023-01-04

你可能还想知道

发表回复

登录后才能评论