Что на самом деле означает, когда вы говорите «Этот язык работает на JVM»? - PullRequest
7 голосов
/ 05 октября 2011

В последнее время я много слышал о Scala, Clojure и т. Д., Которые должны работать на JVM. Означает ли это, что эти языки реализуют Java API? Что значит для языка работать под JVM?

Спасибо.

Ответы [ 4 ]

8 голосов
/ 05 октября 2011

Это означает, что эти языки могут быть скомпилированы в байт-код Java , который выполняет JVM.

6 голосов
/ 05 октября 2011

Это означает, что в какой-то момент язык компилируется в байтовый код JVM.Язык не должен реализовывать Java API;API Java уже существует (более или менее постоянно).

Это просто означает, что если у вас есть JVM, вы сможете использовать язык без другой виртуальной машины (хотя вам понадобятся любые файлы классовязыковой компилятор и библиотеки нужны, очевидно).

4 голосов
/ 05 октября 2011

Существует виртуальная машина, на которой работает Java (JVM), которая устраняет больше проблем на уровне машины. Эти языки просто используют его как промежуточный язык в отличие от написания специфических для архитектуры инструкций.

2 голосов
/ 05 октября 2011

Обычно это просто означает, что вам нужно установить JRE, чтобы убедиться, что они могут выполняться.

И обычно им не требуется JDK, который используется для компиляции кода .java в файл байтов .class.Вместо этого они предоставляют собственный компилятор, который запускается на установленной вами JRE.

Итак, в заключение, вам просто необходима поддержка времени выполнения Java (некоторая конкретная версия).

, если вам нуженинформация о глубине: normabmcclelland@linuxmirroreast.com

...