2017-01-09 8 views
1

Я сомневаюсь в себе, если JRE из разных ОС (например, Windows, Linux, Mac и т. Д.) Различны и зависят от платформы? Причина, по которой я спрашиваю об этом, заключается в том, что, если Java Bytecode независим от платформы, это означает, что JRE для определенной ОС должен реализовывать один и тот же байт-код, немного по-разному конкретно ориентированный на ОС правильно? Заранее спасибо.Разные разные ОС JRE?

+0

Java является независимой от платформы, поскольку для многих платформ существуют компиляторы/интерпретаторы, зависящие от платформы. Он независим от платформы в том смысле, что нам не нужно менять наш код для работы на другой платформе, однако для запуска программ мы должны использовать специфичные для платформы версии JRE. – 11thdimension

+1

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

+0

Хотя байт-код не зависит от ОС, виртуальные машины Java. –

ответ

4

Java Runtime Environment (JRE) зависит от платформы; хотя они запускают один и тот же Java-байт-код.

+0

Справа. По сути, цель JRE - сделать так, чтобы Java сама была независимой от платформы (по крайней мере, насколько это возможно). –

1

В JREs обе платформы и конкретной архитектуры, но байткод и JVM функция одинаково между всеми платформами (есть еще разница между архитектурами x86 и x64)

1

JRE является аббревиатурой для Java Runtime Environment.It используется для обеспечения среды выполнения, которая предоставляет библиотеки JVM + (которые необходимы jvm) и другие компоненты для запуска апплетов и приложений, написанных на Java.

Виртуальная машина Java (JVM) - это виртуальная машина, на которой запущены байт-коды Java. JVM не понимает исходный код Java, поэтому вы компилируете свои * .java-файлы для получения файлов * .class, содержащих байт-коды, понятные JVM. поэтому вы один раз пишете свой код (сгенерируйте файлы .class) и запустите его на разных JVM. Существуют конкретные реализации JVM для разных систем (Windows, Linux ..). JVM дозирует тезисы задач Загрузка классов, проверка кода, код Executin и обеспечение среды выполнения.

Существует еще один термин под названием JDK, который состоит из инструментов разработки JRE +.