当你说"这种语言在JVM上运行"时,它真正意味着什么?

dat*_*ser 7 java language-agnostic jvm clojure jvm-languages

我最近听过很多关于Scala,Clojure等应该在JVM上运行的内容.这是否意味着这些语言正在实现下面的Java API?在JVM下运行语言意味着什么?

谢谢.

Pau*_*ora 8

这意味着可以将这些语言编译为JVM执行的Java字节码.


Dav*_*ton 6

这意味着语言在某些时候编译为JVM字节代码.该语言不需要实现Java API; Java API已经存在(或多或少).

它只是意味着如果你有一个JVM,你应该能够在没有其他VM的情况下运行该语言(尽管你需要语言编译器和库所需的任何类文件).