Translate

Показ дописів із міткою JIT. Показати всі дописи
Показ дописів із міткою JIT. Показати всі дописи

понеділок, 24 грудня 2012 р.

JIT. Intro


Пам'ятаєте, коли в останній раз з вас "сміялися" розробник C/С++ ? З того, що Java є безнадійно повільною?

В дечому вони праві. Але в багатьох випадках Java може посперечатись в продуктивності/швидкодії з багатьма суперниками. І це можливо в основному завдяки магії JIT.

Перш ніж перейти до пояснень Just-In-Time магії компіляції, дозвольте додати невеликий історичний екскурс.

Як ви, можливо, пам'ятаєте - Java є інтерпретованою мовою. Java-компілятор javac, не компілює файли вихідного коду Java безпосередньо в процесорні інструкції, як компілятори С. Замість цього він продукує байт-код, машинно-незалежного бінарний формат, який відповідає специфікації. Цей байт-код інтерпретується JVM. Це є основною причиною, чому Java є настільки успішною як крос-платформена мова програмування. Ви можете написати програму на одній платформі і запускати її на безлічі інших.

З іншого боку - це додає деякі негативні аспекти. Один з них є те, що інтерпретований код  зазвичай повільніше, ніж код скомпільований безпосередньо для конкретної платформи. Sun зрозумів всю серйозність в кінці дев'яностих, коли найняв dr Cliff Click, щоб знайти рішення цієї проблеми.