由于最近甲骨文和谷歌之间的争执,我很想知道dalvik vm是否真的是java的副本,vm....google说它是一种净室技术,并不涉及java vm。那为什么要用java生成字节码呢?
发布于 2011-12-07 09:06:35
与直觉相反的是,Java VM不能解释Java。它解释由编译器产生的Java字节码(来自Java源代码,或者可能来自其他语言)。字节码本身在设计时就考虑到了Java的一般思想,但它不一定要从Java中产生。类似地,Java编译的结果不必是Java字节码。它可以是CPU的本机指令,也可以是其他格式的字节码。
后者就是Dalvik的情况。
Dalvik VM以自己的格式解释字节码。Android SDK附带了一个Java编译器,可以读取Java源代码并输出Dalvik字节码。所以不,Java VM不是。这是一个VM,源代码的语言恰好是Java。
发布于 2011-12-07 08:49:30
它不是jvm -它是从java样式语法编译而来的……所以java开发人员可以轻松地编码和学习……但在机器级别上,这是一种完全不同的语言。
https://stackoverflow.com/questions/8408842
复制相似问题