这个问题起初可能听起来很愚蠢,但也许根本不是。
Java 不是 Java 语言,大多数人都知道,因为您可以使用许多其他语言(如 Scala 或 Groovy )对 Java 进行编程
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。