Никак не могу разобраться и путаюсь просто.
Компилятор Java не компилирует все классы в одну программу из машинных кодов. Вместо этого он компилирует каждый класс по отдельности и не в машинные коды, а в специальный промежуточный код (байт-код). Компиляция в машинный код выполняется при запуске программы.
— А кто же компилирует программу в машинный код при ее запуске?
—
Есть специальная программа под названием JVM (Java Virtual Machine) – Виртуальная Машина Java. Именно ее запускают первой, когда нужно запустить программу, состоящую из байт-кода. А уже JVM перед выполнением нужной программы компилирует ту в машинный код.
Правильно ли я понял, мы написали код потом этот из этого кода компилятор делает байт-код, а потом JVM из этого байт-кода делает машинный код и потом что? Программа запускается или что? И вообще правильно ли я описал поэтапность всего этого? Помогите пожалуйста
А кто же компилирует программу в машинный код при ее запуске?
В общем случае никто, JVM интерпретирует байткод. Но в частности виртуальная машина HotSpot использует JIT-компилятор для компиляции байткода в машинный код.
Правильно ли я понял, мы написали код потом этот из этого кода компилятор делает байт-код, а потом JVM из этого байт-кода делает машинный код и потом что? Программа запускается или что?
Виртуальная машина - загружает байткод из class-файлов и выполняет их на, грубо говоря, виртуальном процессоре.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Хотите улучшить этот вопрос? Переформулируйте вопрос так, чтобы он был сосредоточен только на одной проблеме
Request прекрасно работает - уходит на сервер, сервер его принимаетЗатем должен прийти ответ от сервера