Java面试题(十四):什么是字节码?采用字节码的好处是什么?

2021年7月21日20:45:51来源:SmallGrayCode
评论
0 557字阅读1分51秒

1. 什么是字节码?采用字节码的好处是什么?

java中的编译器和解释器:

Java中引入了虚拟机的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器。这台虚拟的机器在任何平台
上都提供给编译程序一个的共同的接口。
编译程序只需要面向虚拟机,生成虚拟机能够理解的代码,然后由解释器来将虚拟机代码转换为特定系统的机器码
执行。在Java中,这种供虚拟机理解的代码叫做字节码(即扩展名为.class的文件),它不面向任何特定的处理
器,只面向虚拟机。
每一种平台的解释器是不同的,但是实现的虚拟机是相同的。Java源程序经过编译器编译后变成字节码,字节码由
虚拟机解释执行,虚拟机将每一条要执行的字节码送给解释器,解释器将其翻译成特定机器上的机器码,然后在特
定的机器上运行。这也就是解释了Java的编译与解释并存的特点。
Java源代码…>编译器->jvm可执行Java字节码(即虚拟指令)->j/m--->jvm中解释器-…>机器可执行的二进
制机器码--->程序运行。

采用字节码的好处:

Java语言通过字节码的方式,在一定程度上解决了传统解释型语言执行效率低的问题,同时又保留了解释型语言可
移植的特点。所java程序运行时比较高效,而且,由于字节码并不专对一种特定的机器,因此,Java程序无须重
新编译便可在多种不同的计算机上运行。

admin
  • 版权声明 本文源自 SmallGrayCode 整理 发表于 2021年7月21日20:45:51
  • 转载请务必保留本文链接:https://www.down0.com/houduan/java/1909.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: