这个问题乍一看可能很愚蠢,但也许根本不是。
Java 不是 Java 语言,大多数人都知道,因为您可以使用 lots of other langauges 编写 Java 程序。像 Scala 或 Groovy
Java 不是具体的 VM 实现,因为还有其他实现,不仅是 SUN、Microsoft 或 IBM 的。
Java 不是类框架,因为许多实现会随意添加或删除类。
甚至不必使用通用的 VM 规范甚至 Java 字节码,参见 Dalvik VM
也许这只是他们共享的一组原则,无论是什么。这绝对不是“一次编写,到处运行”,因为至少 Dalvik 和 Microsoft VM/J# 不是这种情况。
那么问题来了,Java到底是什么?有准确的定义吗?
编辑 很多人似乎认为 Java 仅表示编程语言。因此,具有java功能的手机必须是能够使用户使用仅由java语言创建的类文件组成的程序的手机。如果这是真的,那么 java 虚拟机/java 运行时环境/java 开发工具包将只为 java 制作,其他 jvm 语言将有自己对应的 xvm/xre/xdk。
最佳答案
实际上,Java 是 Java 语言。 Groovy、Scala 等 编译成可以在 JVM 上运行的等效字节码,但它们不是 Java。
形式上,我会说 Java 是 JLS .
关于java - Java到底是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4166788/