我们可以实现在原生地执行Java字节代码硬件Java解释?(can we implement a j

2019-08-03 23:33发布

如果我们在硬件实现Java解释器那么如何才能实现Java字节码的体系结构中立...没有Java使用JIT(准时解释器)? 而这一切是如何与操作系统和Java虚拟机的虚拟机的概念(JVM)

Answer 1:

目前已经在Java系统(即可以执行字节码一个CPU)的几种硬件实现,但他们还没有成为主流。 因为软件实施执行,以及甚至为CPU的已经变得越来越快更好,这是最有可能的。

随着调查的更多操作装配的时候,你会发现,在JVM实现的细节并不重要(和有些变化),但是它们都执行JVM的机器语言 - Java字节码。 如果你留在Java世界中,不链接中的“原生”的东西,你应该罚款与您选择的任何执行。

本公司为生提供调谐Java程序的服务器系统,他们可能感兴趣的: http://www.azulsystems.com/



Answer 2:

是的你可以。 虽然这看起来是停留在规范阶段(或者被抛弃), picoJava允许Java字节码的本地执行。 picoJava有一个FPGA提供一个接口 。 还有的Jazelle ,以及ARM处理器。

鉴于硬件会直接执行字节码,所有的优化也将在硬件中完成。 JIT就不需要,因为该处理器将直接执行字节码。 所有的任何硬件后实施将涉及执行中的定义,在JVM模型的Java虚拟机规范 。 可以进行优化,将在硬件优化的线 - 指令流水线,使用高速缓存等。

硬件中立不丢失,因为在硬件实现上执行的字节码将继续在软件实现正常工作。 它是字节码标准,允许Java成为硬件中性。



Answer 3:

是的,有几个硬件Java实现。 然而,他们并不总是表现得比上更通用芯片上的软件更好。

马克林写了几个有趣的博客条目关于这一主题。



Answer 4:

  • 在硬件中实现JVM忽略运行托管代码的优势。 将它,然后从任何其他本地代码有什么不同。 是的,平台中立性也是阻碍。 无论如何,有这样的实现,检查出aJile系列处理器和ARM的支持Jazelle。 这些都是在嵌入式平台虽然有针对性的。
  • Sun的编译器,热点使用JIT。 我个人没有使用过别人,但它应该是一个高度的技术。
  • JVM可以被看作是一种有限的资源虚拟机,定位于只有一个特定的平台(Java字节码)。


文章来源: can we implement a java interpreter in hardware that executes Java bytecodes natively?