Javascript движки и виртуальные машины похожи?

Это очень простой вопрос, на который я не могу найти ответы:

Похожи ли механизмы javascript, такие как chromes V8 и Internet Explorers Chakra (в EI9+), на виртуальные машины для таких языков, как Java?

2 ответа

Решение

Браузер интерпретирует и выполняет код js напрямую, в то время как для виртуальной машины выполняет байт-код. Скомпилированный код Java (файл ".java") превращается в файл ".class", который содержит скомпилированный байт-код Java, который затем может быть прочитан и понят виртуальной машиной Java. JVM, в свою очередь, берет скомпилированный байт-код Java, а затем запускает или выполняет код.

Фактически, Chakra в IE9 действительно компилирует код скрипта в байт-код, а затем выполняет этот байт-код (и, возможно, JIT-код) [1]. Есть сходства между движками Javascript и другими виртуальными машинами, но достаточно различий из-за динамической природы Javascript.

[1] http://blogs.msdn.com/b/ie/archive/2012/06/13/advances-in-javascript-performance-in-ie10-and-windows-8.aspx

Другие вопросы по тегам