cod*_*nix 13 java jvm terminology definition vm-implementation
这个问题起初可能听起来很愚蠢,但可能根本就没有.
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.
And*_*yle 39
实际上,Java 是 Java语言.Groovy,Scala 等编译成可以在JVM上运行的等效字节码,但它们不是 Java.
在形式上,我会说Java是JLS.
严格来说,Java只是一种编程语言.但它是一种包含许多标准的编程语言:例如许多API和JVM规范.这就是为什么SUN和其他人将其称为平台的原因.
其他语言如Scala,Ruby等不是 Java,它们只是编译为在Java虚拟机中运行的字节代码.它们只是构建在Java平台之上,但它们本身并不是Java.
JVM是高度标准化的,许多公司可以并确实为其硬件平台提供自己的实现.这也不是Java,这些只是Java平台的一部分实现.
Java VM规范是100%标准化的东西,由Oracle声称版权归Java所强制执行.这就是为什么Android(Dalvik VM)目前是甲骨文针对谷歌的法庭案件的主题.
| 归档时间: |
|
| 查看次数: |
1136 次 |
| 最近记录: |