Существуют ли разные версии JVM, специфичные для разных систем? - PullRequest
4 голосов
/ 29 мая 2011

Java использует комбинацию компиляции и интерпретации. Он компилирует исходный код в байт-код вместо прямого преобразования в машинный код. Причина в том, что машинный код зависит от типа процессора в системе. Таким образом, сгенерированный машинный код будет специфичным для конкретной системы и, следовательно, не будет переносимым.

Таким образом, байт-код распознается JVM на разных машинах. У меня вопрос такой. Поскольку JVM преобразует байт-код в машинный код хоста. А так как существуют разные типы хост-машин. Существуют ли разные JVM, соответствующие разным типам машин?

Ответы [ 3 ]

2 голосов
/ 29 мая 2011

Да, это правильно. JVM должна понимать требования к архитектуре компьютера хоста, на котором она работает. Вот почему на этой странице загрузки .

так много версий.
2 голосов
/ 29 мая 2011

Да, именно поэтому вам нужно выбрать пакет для вашей платформы (ОС и архитектура) на веб-сайте Oracle, например: http://www.oracle.com/technetwork/java/javase/downloads/jre-6u25-download-346243.html

(То же самое относится и к другим JVM.)

2 голосов
/ 29 мая 2011

Да.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...