首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Physical Machine怎么样?

Java Physical Machine怎么样?
EN

Stack Overflow用户
提问于 2010-10-24 16:46:08
回答 5查看 5.9K关注 0票数 13

Java是移动设备最重要的语言,因为它通过在字节代码和机器之间插入JVM的虚拟层,允许在每台机器上执行相同的二进制/字节代码。

我们能不能为X86/arm构建一个采用字节码而不是传统的操作码和操作数的Java物理机?因此,可以使用Java构建实际的操作系统,而且它比在当前操作系统上安装JVM更高效/更快

我的猜测是,它将限制安装新版本的JVM,但许多移动设备确实支持JVM的有限版本,因此这可能不是问题所在?

为什么没有人尝试将相同的概念实现到硬件上?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-10-24 16:52:42

我们能造出这样的野兽吗?当然,我们可以。我们也可以试着用一根芹菜来砍倒一棵卡里树,但这并不是一个好主意:-)

类似的事情也发生在第四个月以前(Novix,我想它被称为Novix)。我怀疑它在这种特殊情况下会失败,原因有很多。

  1. 创建Java CPU的成本将远远超过创建Java解释器的成本。这就是为什么没有一百万种不同的CPU制造者,但却有一百万种不同的计算机语言(嗯,可能不是那么多,但很多)。
  2. 即时编译器消除了相当多的对Java- in -silicon的需求,因为它们编译成汇编语言anyway.
  3. Related。除非您的CPU具有某种形式的可升级性(例如可替换的微码),否则一切都将变得昂贵。而且,如果你使用微码,你已经失去了硅上Java的一些优势,因为你现在有了一个芯片上的解释器,而不是运行在常规的操作系统上。
  4. 大量的人已经在使用安装了Java的机器。在市场转向你的解决方案时,你将面临很多阻力。
票数 8
EN

Stack Overflow用户

发布于 2010-10-24 16:58:15

这已经存在了。第一次尝试是Sun的PicoJava规范,它的开源实现在某个时候发布了。

可以直接运行Java字节码的CPU的当前示例:

使用http://www.ajile.com/

  • Imsys:http://www.imsystech.com/

  • ARM extensions

  • JOP:http://www.jopdesign.com/index.jsp

  • aJile:Jazelle
票数 14
EN

Stack Overflow用户

发布于 2010-10-24 16:54:00

AFAIK,这已经完成了(see the PSC 1000 microprocessor reference manual)。引用:

PSC1000微处理器和

虚拟机的堆栈体系结构非常相似。这导致只需要相对简单的字节码翻译器(20K)来从Java字节码产生可执行本机代码,而不需要完整的即时(JIT)编译器(200-400K)。其结果是Java程序的初始执行速度大大加快,所需的内存也大大减少。此外,大多数现代语言都是在堆栈模型上实现的。允许PSC1000高效运行Java的功能类似于其他语言,如C、Forth和Postscript。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4007579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档