Java 为什么同时使用编译器和解释器
让我们从一个基本问题开始这篇文章。
什么是语言翻译器
你可能会想象一个工具或软件,能够根据需要在不同语言之间进行翻译,以便双方都能理解。你完全正确。
编译器和解释器只是在计算机编程中的语言翻译器。它们是将编程语言的源代码转换为机器代码、字节码或任何其他中间代码的软件程序/工具。简单来说,它将代码从高级语言转换为低级语言,使之成为机器可理解的代码。
每个程序员都知道解释器和编译器在各种语言中是分开使用的。但是Java编程语言同时使用解释器和编译器。Java编程语言首先将源程序代码转换为二进制程序代码。然后,这段代码由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等等。