Принцип работы компилятора javac [закрыт]

155
10 декабря 2019, 15:30
Closed. This question needs to be more focused. It is not currently accepting answers.

Want to improve this question? Update the question so it focuses on one problem only by editing this post.

Closed 8 месяцев назад.

ЖЦ программы на джаве. Вот есть код, написанный разрабом, с расширением .java. этот файл компилится в файл с расширением .class при помощи javac, потом запускается при помощи java (реализация JVM).

Почему существуют JVM под разные платформы мне понятно - байт-код (промежуточный код) должен скомпилиться в машинный код конкретной ОС.

Но объясните мне, пожалуйста, зачем нужны реализации компилятора javac под разные ОС?

Что, если бы javac был написан только под винду, то прогать смогли бы только на винде, а вот запускать на любой ОС, так как JVM написана под все платформы.

Вот я не понимаю, ведь исходный код один и тот же, что на винде, что на маке, что на линуксе, бай-код тоже одинаковый. Так зачем javac под разные платформы?

Я примерно понимаю, что это зависит от того, что сам javac не запустится, если был написан под мак на винде, например, но как это правильно сказать, чтобы точно разобраться?

Answer 1

Вы от части правы, если были бы только читстые функции, однако jvm и ее основная идея это абстракция именно над операционной системой, т.к. есть ввод, вывод, работа с потоками итд.

Во всех операционных системах это все устроено по-разному и занимается этим именно ОС.

Если вы полезете в исходники то увидите что все платформо-зависимые куски изобилуют вызовами функций ОС.

READ ALSO
Java не работает try catch из-за scanner [закрыт]

Java не работает try catch из-за scanner [закрыт]

Want to improve this question? Update the question so it's on-topic for Stack Overflow на русском

119
WebResourceResponse

WebResourceResponse

не подскажите как в функции getWebResourceResponse получить доступ к POST Данным?

151
Ошибка при сборке Vue.js проекта

Ошибка при сборке Vue.js проекта

Добрый день подскажите пожалуйста пытаюсь собрать vuejs проект и при сборке выдаёт ошибку, откатывал проект до предыдущего состояния когда...

196
Vue 2 и яндекс карты с KML импортом

Vue 2 и яндекс карты с KML импортом

Попробовал модуль: https://githubcom/PNKBizz/vue-yandex-map, но он не поддерживает KML импорт, решил попробовать по примеру: https://tech

145