Другое важное различие между Zend Engine и типичной JVM заключается в том, как они выполняют байт-коды:
- Zend Engine выполняет (интерпретирует) скомпилированные байт-коды напрямую.(По крайней мере, так я думаю. Я не смог подтвердить это из онлайн-документации Zend!)
- JVM обычно использует JIT-компилятор для компиляции байт-кодов в собственные инструкции, а затем выполняет собственныеинструкции.
На самом деле поведение JVM более сложное, чем это.JVM не всегда компилируются в собственный код, и когда они это делают, они обычно откладывают JIT-компиляцию, пока не решат, что это стоит делать.До этого они исполняют байт-коды напрямую.