将jvm的使编译字节码转换成可执行文件(Will Jvm make compiled byte co

2019-09-20 15:33发布

我阅读下面的文章:

http://searchcio-midmarket.techtarget.com/definition/just-in-time-compiler

http://javarevisited.blogspot.in/2011/12/jre-jvm-jdk-jit-in-java-programming.html

我现在知道,当我运行一个类会发生什么真正感兴趣。 JIT再次然后编译字节码???

请问这种编译后的代码转换成由JVM的.exe?

Answer 1:

和其他人一样说:JIT并不意味着代码编译为二进制可执行文件(.exe)。 但是,你可能会考虑一个有趣的应用是怡东JET 。

我没有看到太多关于它并没有使用过,所以我不知道它究竟是如何工作的...但。 但据其网页,这是一个AOT(名列前茅的时间)的编译器。 这意味着它将编译的.class文件到系统相关的二进制文件。

你应该给它一个尝试,看看它是如何执行。 据该网站,你会得到一个免费许可,如果您的项目在本质上是非COMERCIAL。



Answer 2:

Java编译器编译纯文本Java代码到JVM字节码。 http://en.wikipedia.org/wiki/Java_bytecode

JVM具有热点优化,评估为“热点”的代码(基本上,代码将使用最),并利用CPU缓存时特别注重那些斑点。 它也可以标记那些景点的JVM重新编译为本地语言(如大会),这被称为JIT。

JVM基本上是上运行的JVM字节码解释器的虚拟机。

从未有一个直接的.exe文件。 它是一个Windows / C / C ++的东西居多。



Answer 3:

不,代码 “编译”成一个“EXE”

该程序被存储在存储器中作为字节码,但代码段当前运行以运行更快的制备性编译为物理机器代码。

我要出去肢体和说,JIT是一种解释,旨在提高代码常用分支机构的速度(这是我的理解10年前至少)

JIT编译代表一种混合方法,与翻译发生连续,与解释器,但与翻译的代码高速缓存以最小化性能下降。 它还提供了在开发时在静态编译代码的其他优点,如后期绑定的数据类型的处理和强制执行安全保障的能力。



文章来源: Will Jvm make compiled byte code into executable file