没有JVM的Java

没有JVM的Java,java,jvm,embed,Java,Jvm,Embed,只是想知道是否有任何Java实现可以在没有JVM的情况下工作。我感兴趣的原因很简单,因为我很好奇,我想知道是否有“轻量级”Java实现(没有所有的Sun LIB) 我也对在C++中嵌入java感兴趣,但是在C++中嵌入JVM对我来说似乎很荒谬。我只是想利用我的C++应用程序中的一些java语言特性,而不是利用所有轻浮的java API。 编辑: 从我得到的很多答案中我看到我需要澄清 我最近开始开发node.js应用程序,它使用JavaScript。istelf中的JavaScript是一种语言规

只是想知道是否有任何Java实现可以在没有JVM的情况下工作。我感兴趣的原因很简单,因为我很好奇,我想知道是否有“轻量级”Java实现(没有所有的Sun LIB)

我也对在C++中嵌入java感兴趣,但是在C++中嵌入JVM对我来说似乎很荒谬。我只是想利用我的C++应用程序中的一些java语言特性,而不是利用所有轻浮的java API。 编辑:

从我得到的很多答案中我看到我需要澄清


我最近开始开发node.js应用程序,它使用JavaScript。istelf中的JavaScript是一种语言规范,它不会自动随DOM、window.open等一起出现,尽管它曾经出现过。我想知道是否有类似于Google的v8的东西,除了不是JavaScript,而是Java。最后,我不关心我不能用它写hello World应用程序,我只想能够嵌入Java在C++应用程序中,我可以用C++或java语言在J++应用程序中嵌入JavaScript。如果我能做到这一点,那么我就可以用C/C++实现控制台输出,然后使该实现可以从Java调用。

有一些设计用于小型设备的轻量级Java处理器,例如

您希望Java VM单独使用而不使用API(标准库)吗

JRE是由JVM(虚拟机)和标准库组成的,我怀疑你能找到一个没有JVM的java实现。。。您可以找到将java源代码编译成本机代码的编译器(请看一看),但没有VM的java实现是不可能的


请看一些可选的Java实现。

有(GNU Compiler for Java),但自从OpenJDK是开源的以来,该项目一直被弃用。

正如其他人所暗示的,“JVM”是一种知道如何加载类、解释“字节码”和管理存储的机制。它本身不包含任何java.lang。。。除了需要几个类(String、Class等)来表示JVM中的类和其他基本数据结构之外

因此,没有JVM的Java只是一堆毫无意义的比特

有(或曾经有)编译过的Java版本不需要/不需要解释器(尽管相当紧凑的解释器很容易构建)。基本类装入器和某种存储管理仍然是必要的,但类装入可以保持简单,对于短期应用程序(或具有特殊限制的应用程序),存储管理器无需执行垃圾收集


正如pstanton所建议的,有一些“轻量级”Java(或“类Java”)实现适合于小型设备。

IMHO,您需要重新举例说明您真正想要的是什么

Java运行时由两个主要组件组成

  • 运行代码的JVM
  • 随附的标准库
您建议您使用Java,但如果没有这些,您真的什么都没有了


例如,如果没有库,您甚至无法编写“hello world”程序,因为String是JDK中的一个类。

Sun libs和JVM是两个完全不同的东西,可以说Java的主要功能是最先进的垃圾收集器——显然是JVM功能。您的意思是,将Java编译成JVM字节码以外的东西?或者哪一个会将JVM字节码编译成其他代码?或者呢?JavaScript是一种脚本语言,大多数脚本语言解释器的设计都是为了方便地嵌入到另一种语言(通常是C/C++之类的编译语言)中。我不太清楚为什么你想把一个像java那样的编译语言嵌入C++的另一种编译语言中。最好使用脚本语言解释器,如JavaScript、Python或Lua,如果您想为您的程序使用脚本语言,它有明确定义的用于嵌入的API。