2014-10-28 62 views
1

我最近读了java,因为它可以在任何地方运行,比如烤面包机。 所以这个问题突然出现了,你可以在没有操作系统的新电脑/笔记本电脑上运行Java虚拟机和Java程序吗? 如果是这样,我的Windows上编写的Java程序是否可以在无OS计算机上的JVM上运行?你可以在没有操作系统的计算机上运行JVM吗?

我试着在谷歌搜索,但我找不到任何有关

感谢

+0

“烤面包机”是指J2ME(用于嵌入式计算的Java微版)。可能不是通常所说的Java。 (我认为有更紧凑的版本可以运行在智能卡上,例如Apple Pay芯片)。 – Thilo 2014-10-28 06:18:53

+1

或Android(它是开源的)。现在,J2ME在牙齿上已经相当枯燥了。 – markspace 2014-10-28 06:20:47

+3

可以想象,您可以构建一个实现虚拟机核心的操作系统,但是现在,您可能更有可能将操作系统看作是削减的Linux内核,也许是Java的削减版本...... – MadProgrammer 2014-10-28 06:22:21

回答

6

Java规范并不要求JVM上的操作系统上运行;这就是规格细节措辞背后的原因。 BEA's Project Bare Metal是JVM努力直接在没有操作系统的硬件上运行,并且OSv是开发JVM,它将运行在管理程序上,但不需要传统操作系统。

此外,嵌入式Java实现(例如在智能卡中)通常不使用运行时JVM。相反,JVM是一种提前编译器,可将字节码转换为目标平台的机器代码。

+0

*裸金属* ..现在,我看到你要去哪里.. Neve知道这是可能的 - *实际* *谢谢:) – TheLostMind 2014-10-28 06:48:57

0

JMV有很多各种操作系统的实现。但它是一个使用OS的程序......所以你必须有一个运行它的JVM。

之后,Java程序,你会写可以在任何操作系统的任何JVM上运行...

+1

事实上不正确。 JavaCard不需要主机操作系统,并且至少有几个供应商为旧式JEE应用程序服务器生产裸机JVM。 – chrylis 2014-10-28 06:24:01

+0

@chrylis - [检查此](http://www.oracle.com/technetwork/java/javacard/javacard1-139251.html) – TheLostMind 2014-10-28 06:34:24

+0

@TheLostMind从概念上讲,JCVM在卡操作系统上运行。实际上,我只听说过AOT编译的JCVM。 – chrylis 2014-10-28 06:36:57

相关问题