博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
对计算机世界的认知
阅读量:5362 次
发布时间:2019-06-15

本文共 511 字,大约阅读时间需要 1 分钟。

机器语言是cpu唯一能够读懂的语言,早期的程序员写机器语言,实际上是直接写机器指令去命令底层硬件如何操作,但是机器语言都是16进制的数字,很不直观而且非常容易出错。之后就有了汇编语言,它是对机器语言用助记符来表示,然后由汇编器去查表,将助记符映射成机器语言。汇编语言和机器语言是一一对应的关系,一条汇编语言对应一条机器语言。

C,C++,Java都是高级语言,它们是对计算机指令的抽象表示,通常一条语句要翻译成好几条汇编指令或机器语言,这个过程就是编译(compile)。因此C语言首先需要先编译成机器语言,然后才能由操作系统(CPU)执行;java语言也需要先编译成字节码文件,然后装载到JVM中,由执行引擎解释成对应操作系统的汇编语言(机器语言),最后由CPU执行。所以如果你想搞清楚java每条语言的底层实现机制,只需要去看对应的汇编代码就可以了(通常一条java代码对应多条汇编指令,如a=a+1,实际上有三条汇编指令:先去工作内存读值,然后加一,最后更新工作内存的值,至于何时刷新到主存,则是有操作系统决定)

 

转载于:https://www.cnblogs.com/james111/p/7272727.html

你可能感兴趣的文章
Duilib将UI资源文件打包到exe教程
查看>>
hdu 5386 Cover (暴力)
查看>>
Java 异常模型综述
查看>>
python中函数参数问题小究
查看>>
关于c++类的内存分配
查看>>
JS移动客户端--触屏滑动事件
查看>>
CSUOJ2031-Barareh on Fire(双向BFS)
查看>>
【bzoj1907】树的路径覆盖 树形dp
查看>>
规模化敏捷开发的10个最佳实践(上)
查看>>
安卓 DevOps:从一次推送命令到生产
查看>>
单表查询
查看>>
【自动化测试】robot framwork的一点小发现
查看>>
JS语法之--模块化
查看>>
手机端移动端的选择框mobileSelect.js使用
查看>>
求职ABC-从简历到签约
查看>>
p1846
查看>>
SequenceInputStream
查看>>
Enter the path to the kernel header files for the 3.18.0-kali1-686-pae kerne?
查看>>
@SuppressWarnings抑制警告
查看>>
【LOJ】#3097. 「SNOI2019」通信
查看>>