我阅读下面的文章:
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?
我阅读下面的文章:
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?
和其他人一样说:JIT并不意味着代码编译为二进制可执行文件(.exe)。 但是,你可能会考虑一个有趣的应用是怡东JET 。
我没有看到太多关于它并没有使用过,所以我不知道它究竟是如何工作的...但。 但据其网页,这是一个AOT(名列前茅的时间)的编译器。 这意味着它将编译的.class文件到系统相关的二进制文件。
你应该给它一个尝试,看看它是如何执行。 据该网站,你会得到一个免费许可,如果您的项目在本质上是非COMERCIAL。
Java编译器编译纯文本Java代码到JVM字节码。 http://en.wikipedia.org/wiki/Java_bytecode
JVM具有热点优化,评估为“热点”的代码(基本上,代码将使用最),并利用CPU缓存时特别注重那些斑点。 它也可以标记那些景点的JVM重新编译为本地语言(如大会),这被称为JIT。
JVM基本上是上运行的JVM字节码解释器的虚拟机。
从未有一个直接的.exe文件。 它是一个Windows / C / C ++的东西居多。
不,代码不 “编译”成一个“EXE”
该程序被存储在存储器中作为字节码,但代码段当前运行以运行更快的制备性编译为物理机器代码。
我要出去肢体和说,JIT是一种解释,旨在提高代码常用分支机构的速度(这是我的理解10年前至少)
JIT编译代表一种混合方法,与翻译发生连续,与解释器,但与翻译的代码高速缓存以最小化性能下降。 它还提供了在开发时在静态编译代码的其他优点,如后期绑定的数据类型的处理和强制执行安全保障的能力。