机器为什么能识别代码,机器可以识别的代码
java代码是如何被机器识别的?
首先,Java是一种高级编程语言,语法非常复杂。如果Java代码直接扔给机器,机器是无法识别的。所以,对于Java语言来说,第一步就是编译我们的Java源代码(。java文件)转换成字节码文件(。类文件),然后通过使用虚拟机(JVM)将字节码翻译成机器码。最后,机器代码可以被机器识别和执行。
请看下图:
如何解决写爬虫IP受阻的问题?立即使用。
(免费学习视频教程推荐:java视频教程)
解释如下:
实际上,JVM不能直接运行字节码文件,JVM需要将字节码翻译成机器码,才能运行相应的代码逻辑。在HotSpot虚拟机中,有两种翻译形式:第一种是解释执行,即将字节码逐个翻译成机器码并执行;第二种是实时编译(JIT),即将一个方法中包含的所有字节码在执行前编译成机器码。两种方法各有利弊。
解释的优点是可以立即运行,而不需要等待编译。即时编译的优点是它实际上运行得更快。HotSpot虚拟机默认采用混合模式,结合了解释执行和即时编译的优点。它会先解释执行字节码,然后用方法实时编译其中重复执行的热代码。
Java虚拟机在执行Java字节码时,会先将字节码文件加载到内存中,然后将加载的Java类存储在方法区中。在运行时,虚拟机执行方法区域中的代码。
在运行过程中,每次进入一个Java方法,Java虚拟机都会在当前线程的Java方法堆栈中生成一个堆栈框架,用来存储局部变量和字节码操作数。退出当前执行方法时,无论是正常返回还是异常返回,Java虚拟机都会弹出当前线程的当前堆栈帧并丢弃。
相关文章教程推荐:java入门教程以上是java代码如何被机器识别的详细内容。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。