par*_*ain 19 java virtual interpreter jit jvm
如果我们在硬件中实现java解释器那么我们如何实现java字节码的体系结构中立性... java是否使用JIT(只是在时间解释器中)?以及这些与虚拟机概念的操作系统和java虚拟机(JVM)有何关系
Tho*_*sen 11
已经有几个Java系统的硬件实现(即可以执行字节码的CPU),但它们还没有成为主流.这很可能是因为随着CPU变得越来越快,软件实现的性能也越来越好.
正如您在进行更多调查时所发现的那样,JVM实现的细节并不重要(并且变化很大)但它们都执行JVM的机器语言--java字节代码.如果你留在Java世界中并且没有链接"本机"的东西,你应该没有任何你选择的实现.
该公司致力于提供针对Java程序调整的服务器系统,他们可能会对您感兴趣:http://www.azulsystems.com/
是的,有几个硬件Java实现.但是,它们并不总是比在更通用的芯片上运行的软件更好.
Mark Lam 在这个主题上撰写了几篇有趣的博客文章.
是的你可以.虽然这看起来像是停留在规范阶段(或被放弃),但picoJava允许本地执行Java字节码.picoJava在FPGA上有一个端口.还有Jazelle,以及ARM处理器.
鉴于硬件将直接执行字节码,所有优化也必须在硬件中完成.由于处理器将直接执行字节码,因此不需要JIT.毕竟,任何硬件实现都涉及实现Java虚拟机规范中定义的JVM模型.可以执行的优化将依赖于硬件优化 - 指令流水线,缓存的使用等.
硬件中立性不会丢失,因为在硬件实现上执行的字节码也将继续在软件实现上工作.字节码标准允许Java是硬件中立的.