我已经阅读了有关编译器,解释器和使用两者的“事物”的定义的足够解释。我没有发现在一种语言中如何同时使用编译器和解释器。
答案 0 :(得分:1)
在Java中,源代码首先被编译为字节码,然后由解释器(JVM-Java虚拟机)运行。
字节码是虚拟机的机器码。
在Javascript中,有一个运行时(引擎),它可以及时进行编译(JIT)。基本上,在执行时会得到一个源代码,该源代码会立即转换为本地代码,然后执行该代码。在Chrome的引擎中,有两个模块可以进行编译:一个模块可以快速执行代码,但是代码的优化程度不高(点火解释器),另一个模块可以生成高性能的代码,但是编译需要花费更多时间(turbofan编译器)。
为什么要同时使用:
答案 1 :(得分:1)
Java是第一种与机器无关的编程语言;它同时使用编译器和解释器。 Java编译器的设计方式是将源代码转换为独立于平台的形式,即字节码。 然后,这些字节码由解释器转换为机器码。这就是编译器和解释器都以一种语言使用的方式。任何具有JVM的系统都将运行这些字节码。
Java program byte code interpreted by VM machine language
摘要:
java编译器将源代码转换为称为字节码的中间语言。该字节码只能在称为JVM的虚拟环境中执行。 Java虚拟机。 JVM是Java字节码的解释器。它将字节码转换为机器语言并逐行执行。
这是编译器和解释器在一种语言中使用的方式。.如果发现有用,您可能会提到