没有JVM的Java
只是想知道是否有任何Java实现可以在没有JVM的情况下工作。我感兴趣的原因很简单,因为我很好奇,我想知道是否有“轻量级”Java实现(没有所有的Sun LIB) 我也对在C++中嵌入java感兴趣,但是在C++中嵌入JVM对我来说似乎很荒谬。我只是想利用我的C++应用程序中的一些java语言特性,而不是利用所有轻浮的java API。 编辑: 从我得到的很多答案中我看到我需要澄清没有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是一种语言规
我最近开始开发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
- 随附的标准库
例如,如果没有库,您甚至无法编写“hello world”程序,因为String是JDK中的一个类。Sun libs和JVM是两个完全不同的东西,可以说Java的主要功能是最先进的垃圾收集器——显然是JVM功能。您的意思是,将Java编译成JVM字节码以外的东西?或者哪一个会将JVM字节码编译成其他代码?或者呢?JavaScript是一种脚本语言,大多数脚本语言解释器的设计都是为了方便地嵌入到另一种语言(通常是C/C++之类的编译语言)中。我不太清楚为什么你想把一个像java那样的编译语言嵌入C++的另一种编译语言中。最好使用脚本语言解释器,如JavaScript、Python或Lua,如果您想为您的程序使用脚本语言,它有明确定义的用于嵌入的API。