В Windows 10 версии 1511 добавлен gem 'coffee-script-source', '1.8.0' в мой gemfile, а затем ruby bin \ bundle update coffee-script-source из каталога проекта. NB: предыдущая версия сценария с кофе-скриптом, которая была заменена, была 1.10.0
Реализации Java обычно используют двухэтапный процесс компиляции. Исходный код Java компилируется до байт-кода компилятором Java. Байт-код выполняется виртуальной машиной Java (JVM). Современные JVM используют метод, называемый Just-in-Time (JIT) compilation , для компиляции байт-кода в собственные инструкции, понятные аппаратному процессору, на лету во время выполнения.
Некоторые реализации JVM могут выбрать интерпретацию байт-код вместо JIT-компиляции его в машинный код и его непосредственного запуска. Хотя он по-прежнему считается «интерпретатором», он сильно отличается от интерпретаторов, которые читают и выполняют исходный код высокого уровня (то есть в этом случае исходный код Java не интерпретируется напрямую, а байт-код, выводимый компилятором Java, интерпретируется. )
Технически возможно заранее скомпилировать Java до нативного кода и запустить полученный двоичный файл. Также можно напрямую интерпретировать код Java.
Подводя итог, в зависимости от среды выполнения, байт-код может быть:
Термины «интерпретируемый язык» или «компилируемый язык» «не имеют смысла, потому что любой язык программирования может быть интерпретирован и / или скомпилирован.
Что касается существующих реализаций Java, большинство из них включают этап компиляции в байт-код, поэтому они включают компиляцию. Среда выполнения также может загружать байт-код динамически, поэтому всегда требуется некоторая форма интерпретатора байт-кода. Этот интерпретатор, в свою очередь, может использовать или не использовать компиляцию для внутреннего кода.
В наши дни частичная своевременная компиляция используется для многих языков, которые когда-то считались «интерпретируемыми», например, Javascript.
Java компилируется в байт-код, который затем передается в виртуальную машину Java, которая его интерпретирует.
И то и другое. Сначала java скомпилирован (некоторые предпочли бы сказать «переведен») в байт-код, который затем либо компилируется, либо интерпретируется в зависимости от настроения JIT.
Java - это скомпилированный язык программирования, но вместо того, чтобы компилировать прямо в исполняемый машинный код, он компилируется в промежуточную двоичную форму, называемую байтовым кодом JVM. Затем байт-код компилируется и / или интерпретируется для запуска программы.
Java - это язык с байтовой компиляцией, предназначенный для платформы, называемой виртуальной машиной Java , которая основана на стеке и имеет несколько очень быстрых реализаций на многих платформах.