为什么不摆脱JVM?

Hon*_*gbo 0 java compiler-construction jvm

JIT编译器已存在一段时间了.偶尔我会想到,"嘿,为什么不直接将Java源文件编译成机器代码呢?"

与编译库一起,我们可以摆脱繁琐的JVM.

我能想到的唯一障碍是垃圾收集器.你的想法怎么样?

PS:哦,你说便携性?WTH是那个?另外,我不得不首先安装JVM.

jjn*_*guy 20

好吧,我的朋友使用Ubuntu,我使用Windows XP,而我的另一个朋友使用OSX.

当我向他们发送我编译的jar时,他们都可以运行该文件而无需任何更改.

这就是为什么你不应该摆脱JVM.

  • 基本上就是这样.JVM的工作是如此,我们不必编写特定于平台的代码.您所说的汇编是平台耦合形成的地方. (3认同)
  • @Simon如果编写依赖于特定JVM实现或底层操作系统的Java代码,那么这就是你自己的错误......大多数Java代码都是在未经修改的任何JVM实现上运行的. (3认同)

irr*_*ble 7

vm可以基于仅在运行时可用的信息进行复杂的优化.静态编译时优化根本无法竞争.Java很快,因为它在vm上运行.

看这个

http://www.infoq.com/presentations/Towards-a-Universal-VM