编程语言
首页 > 编程语言> > Java-交叉编译器与JVM

Java-交叉编译器与JVM

作者:互联网

我想知道JVM的用途.如果创建JVM是为了允许平台独立的可执行代码,那么能够产生平台独立的可执行代码的交叉编译器是否可以代替JVM?

有关交叉编译器的信息来自:http://en.wikipedia.org/wiki/Cross_compiler

解决方法:

字节码格式和JVM的优点是能够基于在实际运行期间获取的性能分析数据在运行时优化代码.换句话说,没有静态编译的本机代码是一个胜利.

运行时编译优点的一个特别有趣的示例是单态调用站点:对于代码中调用实例方法的每个位置,运行时都会准确跟踪调用该方法的对象类型.在很多情况下,事实证明只涉及一种对象类型,并且如果该调用是静态方法(不涉及vtables),那么JVM将编译该调用.这将进一步允许它内联调用,然后进行更多优化,例如转义分析,寄存器分配,常数折叠等.

实际上,您的批评可能(应该说)被颠倒了:为什么Java完全定义字节码,修复许多本可以由实现决定的设计决策?现代趋势是分发源代码,并让JIT编译器对此进行处理.

标签:cross-compiling,java
来源: https://codeday.me/bug/20191030/1964835.html