Javascript движки и виртуальные машины похожи?
Это очень простой вопрос, на который я не могу найти ответы:
Похожи ли механизмы javascript, такие как chromes V8 и Internet Explorers Chakra (в EI9+), на виртуальные машины для таких языков, как Java?
2 ответа
Браузер интерпретирует и выполняет код js напрямую, в то время как для виртуальной машины выполняет байт-код. Скомпилированный код Java (файл ".java") превращается в файл ".class", который содержит скомпилированный байт-код Java, который затем может быть прочитан и понят виртуальной машиной Java. JVM, в свою очередь, берет скомпилированный байт-код Java, а затем запускает или выполняет код.
Фактически, Chakra в IE9 действительно компилирует код скрипта в байт-код, а затем выполняет этот байт-код (и, возможно, JIT-код) [1]. Есть сходства между движками Javascript и другими виртуальными машинами, но достаточно различий из-за динамической природы Javascript.