java jdk中的编译器是什么,解释器是什么?
jdk中的编译器是什么,解释器是什么?Java引入了虚拟机的概念,即在机器和编译器之间增加了一层抽象虚拟机。这个虚拟机为任何平台上的编译器提供了一个公共接口。编译器只需面向虚拟机,生成虚拟机能够理解的
jdk中的编译器是什么,解释器是什么?
Java引入了虚拟机的概念,即在机器和编译器之间增加了一层抽象虚拟机。这个虚拟机为任何平台上的编译器提供了一个公共接口。编译器只需面向虚拟机,生成虚拟机能够理解的代码,然后解释器就可以将虚拟机代码转换成特定系统的机器代码来执行。在Java中,这种供虚拟机理解的代码称为字节码,它不面向任何特定的处理器,只面向虚拟机。每个平台的解释器是不同的,但是虚拟机是相同的。Java源程序在编译后变成字节码。字节码由虚拟机解释和执行。虚拟机将要执行的每个字节码发送给解释器,解释器将其翻译成特定机器上的机器码,然后在特定机器上运行。
Java源代码--->编译器---> Java字节码(虚拟指令)--> JVM--->解释器--->二进制机器码
学了编译原理能否用Java写一个编译器或解释器?
]应该说“Java解释器是将Java虚拟机上运行的目标码(字节码)解释成特定平台机器码的程序。”,在JDK或JRE目录的bin目录中java.exe文件文件,以及javac.exe文件它是一个编译器。
运行Java程序的过程是先用javac编译,然后用Java解释。一旦编译成功,就可以直接使用java.exe文件它无处不在。
java解释器什么意思?
默认情况下,编译器会将java文件转换为字节码,以便计算机能够理解它,并手动使用CMD javacxxxx.java文件编译器
任何编译器语言都可以编写编译器,甚至可以编写自己的编译器(引导);
解释性语言不能完成真正的引导,也就是说,它不能为自己编写解释器;
最合适的问题是什么?(请注意,“最”一词不符合新的广告法)。当然,这是C/C加编译。如果你不相信,看看最强大的编译器框架llvm。许多语言编译器都是基于它的,比如clang。
但是也有许多语言在成长后使用自己的编译器进行编译,例如golang。
另外,在某个平台上,很多解释器都可以用某一种语言编写,比如JVM上的那些动态语言和DSL,它们被Java解释,翻译成Java代码,然后被JVM翻译成字节码。