为什么Java同时使用编译器和解释器
让我们以一个基本问题开始这篇文章。
你说的语言翻译器是什么意思
你可能会想象一个工具或软件可以根据需要在不同语言之间进行翻译,以便双方都能理解。你是完全正确的。
编译器和解释器只是计算机编程中的语言翻译器。这些是将一种编程语言的源代码翻译成机器码、字节码或任何其他中间代码的软件程序/工具。或者,简单地说,它将代码从高级语言转换为低级语言,使其成为机器可理解的代码。
每个程序员都知道,解释器和编译器在各种语言中是分开使用的。但是,Java编程语言既采用了解释器,也采用了编译器。Java编程语言同时使用编译器和解释器,因为源编程代码首先被转化为二进制编程代码。而且,这些代码由JVM运行,JVM通常是一个基于软件的解释器。
通过使用编译后的字节码,解释器可以做到小而有用。这种二进制代码也有助于Java的功能,因为如果使用得当,它可以在任何JVM上执行,不受设备或软件设置的影响。Java在使用解释器的同时也使用了编译器。
因此,我们将为您提供更多信息,什么是Java编译器和java解释器。
Java编译器
Java编译器也被称为javac。它将源代码转换为中间文件,即字节码文件。 每种类型的操作系统都使用不同的字节码文件,这使得平台独立。
Java编译器将整个源代码转换为机器码文件或其他中间代码,然后执行。它是独立于平台的。一个字节码主要是一个过渡代码,在源代码被编译后由编译器创建。
可以从命令行中使用 “Javac.exe “命令来启动Java编译器。
Java编译器在Java中是如何工作的
- 它在突出显示错误之前快速扫描整个源代码。
-
在字节码创建过程中会消耗更多的内存。
-
它检查是否有任何排版或句法错误,以确保程序的正确性。
-
此外,如果有必要,它还会向我们的程序添加一些额外的代码。
Java 解释器
Java与每个操作系统都兼容,Java解释器将字节码转换为机器代码。根据操作系统的不同,这个机器代码会发生变化。
解释器是一个计算机程序,它通过将高级程序语句翻译成汇编级编程语言来执行类似的功能。当你运行该程序时,二进制代码(二进制编程语言)被转换成机器代码(机器编程语言)。
Java解释器在Java中是如何工作的
- 它将二进制代码翻译成机器的本地代码。
-
解释器一行一行地翻译语言。
-
当一行出现错误时,这个过程就结束了。
Java编译器和Java解释器之间的区别
-
程序在被转换为机器代码之前由编译器完全编译,然后由解释器逐行进行解释。
-
编译器一次显示所有错误和警告,而解释器一次只显示一个错误。
-
不像编译器那样扫描整个程序,解释器在阅读每一行后发现错误。
-
解释器的调试速度比编译器快。
-
与编译器相比,解释器的运行时间更长。
结论
任何编程语言都可以用来生成机器码。任何编程语言,一组语言,或一种语言的语言。
像许多其他现代编程语言一样,Java将解释器和编译器串联起来使用。其目的是结合两个世界的最佳功能。
Java的编译和解释是完美无缺的。一个Java应用程序完全在计算机上运行,使用Java编译器和JVM,一个基于软件的解释器。
Java采用了一个编译器以及一个解释器。这是为了让解释器能够使用Java代码,编译器在使用前首先将其转换为字节。然后,解释器将字节转换为额外的机器代码,如Linux、Microsoft word、Windows 10等。