对计算机世界的认知

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

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

 

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值