Java到底是什么?

这个问题乍一听可能很愚蠢,但也许根本不是。

  • 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。


答案 1

实际上,JavaJava语言。Groovy,Scala等人编译为可以在JVM上运行的等效字节码,但它们不是Java。

从形式上讲,我会说Java是JLS


答案 2

Java是一种编程语言。语法部分。