当前位置: 首页 > 面试题库 >

Java物理机呢?

宗政文彬
2023-03-14
问题内容

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

我们是否可以构建Java物理机,该机器将使用字节码代替X86 /
arm的传统操作码和操作数?因此可以使用Java来构建实际的操作系统,并且比在我们当前的操作系统上安装JVM更加高效/快捷

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

为什么有人没有尝试对硬件实施相同的概念?


问题答案:

我们可以建造这样的野兽吗?我们当然可以。我们也可以尝试用芹菜杆砍掉一棵Karri树,但这并不是一个好主意:-)

许多个 月前,Forth也做了类似的事情(Novix,我认为它被称为)。我怀疑在 这种 特殊情况下它会由于多种原因而失败。

  1. 创建Java CPU的成本将远远超过创建Java解释器的成本。这就是为什么有没有一百万个不同的CPU加工商,但 一百万个不同的计算机语言(好吧,也许没有那么多,但它的很多)。

  2. 由于JIT编译器始终以汇编语言进行编译,因此它消除了对Java硅芯片的大量需求。

  3. 与第1点相关,想象一下修复CPU中的错误(而不是解释器中的错误)的成本。除非您的CPU有某种形式的可升级性(例如可替换的微代码),否则事情将会变得昂贵。而且,如果您 确实 使用微码,那么您将失去硅片上Java的一些优势,因为您现在拥有片上解释器,而不是在常规操作系统上运行。

  4. 许多人已经在使用具有Java的机器。您将面临市场转向您的解决方案的 巨大 阻力。



 类似资料:
  • 物理机用于创建裸金属设备,裸金属独占物理机资源。 物理机是在云管平台注册IPMI信息,可以被云管平台完全管理和控制的物理服务器。物理机用于创建裸金属设备,裸金属独占物理机资源。 物理机支持纳管的服务器包括Dell、HP、华为、浪潮、联想、超微等主流x86服务器厂商和机型。 入口:在云管平台单击左上角导航菜单,在弹出的左侧菜单栏中单击 “主机/基础资源/物理机” 菜单项,进入物理机页面。 列表右上方

  • 介绍如何在云联壹云平台上纳管物理服务器并创建裸金属服务器等。 云联壹云 平台支持纳管物理服务器并基于物理服务器创建裸金属服务器。 物理机纳管相关概念介绍 YunionOS是通过带外控制将物理机引导启动进入一个临时操作系统,这是一个通过buildroot定制的精简Linux系统,内置物理机管理需要的工具软件。Baremetal通过ssh进入这个系统,实现一些更复杂的管理操作,例如配置RAID,部署操

  • 我正在开发一个React Native软件包,以获取Android设备上摄像头的信息。问题是并不是所有的摄像机都出现了。 我的代码如下: 这段代码返回以下内容: 这表明它缺少REQUEST\u AVAILABLE\u CAPABILITIES\u LOGICAL\u MULTI\u摄像头。然而,我正在测试的手机有3个后摄像头和1个前摄像头。我错过了什么?

  • 通信方式 带通调制 通信方式 根据信息在传输线上的传送方向,分为以下三种通信方式: 单工通信:单向传输 半双工通信:双向交替传输 全双工通信:双向同时传输 带通调制 模拟信号是连续的信号,数字信号是离散的信号。带通调制把数字信号转换为模拟信号。

  • 我正在创建一个突破游戏,我之前在这里问了一个问题,但没有提出解决方案。我有一个简单的物理过程来反转球与桨碰撞时的速度。但我需要实现一个更先进的物理系统,例如,当球击中桨的左侧和右侧时,等等。。。但我该如何计算碰撞后球的方向呢?突破的标准是在与球拍左侧碰撞时将球指向左侧,如果碰撞是向右的,则指向右侧,等等。。。 我如何计算在哪里击球?我有很多变量可以使用,比如桨叶的各个方面(宽度、高度、X位置)、球

  • 问题内容: 我是一个相对较新的程序员,所以这可能是一个非常简单的问题,但是让我有些困惑。 我正在尝试将Java GUI的最终输出打印到打印机。现在,在我的GUI中,有了它,当您单击打印时,会弹出一个弹出窗口,列出可用的打印机,并根据您选择的打印机,将其打印到该打印机。 但是事实并非如此。我通过搜索互联网来解决此问题,从而获得了大部分代码,并找到了一些很有前途的代码。但是,它是从文件打印出来的。因此