Всеки език за програмиране използва компилатор, за да преобразува езиковия код на високо ниво в двоичен код на машинно ниво, тъй като системата разбира само двоичния код. Въз основа на типа на езика за програмиране, компилаторът се различава. Сега говорим за , той използва този невероятен компилатор, наречен JIT (Just-in-Time) в Java . Този блог ще ви разкаже всичко за JIT Java Compiler.
По-долу са разгледани темите в тази статия:
- Java JIT Compiler - Общ преглед
- Работа на JIT Compiler в Java
- Аспекти на сигурността на JIT в Java
- Плюсове и минуси на JIT в Java
И така, нека започнем!
Java JIT Compiler - Общ преглед
The Компилатор Just-In-Time е една от неразделните части на . Той е отговорен главно за оптимизиране на производителността на Java-базирани приложения по време на изпълнение или време на изпълнение. Като цяло основното мото на компилатора е увеличаване на производителността на приложение за крайния потребител и разработчика на приложения.
Потопете се дълбоко в JIT в Java
Байтовият код е основният потенциал на средата WORA на Java (Писайте веднъж, стартирайте навсякъде). Скорост на Java приложение зависи от начина, по който байтовият код се преобразува в родния машинен код. Байтовият код може да бъде интерпретиран или компилиран в собствен код или директно изпълнен на процесора. Но ако байтовият код се интерпретира, това пряко влияе върху скоростта на приложението.
За да ускори производителността, JIT компилаторът комуникира с JVM по време на изпълнение, за да компилира последователности от байтови кодове в собствен машинен код. По принцип, когато се използва JIT Compiler, родният код се изпълнява лесно от хардуера в сравнение с JVM Interpreter. По този начин ще има огромна печалба в скоростта на изпълнение.
Когато компилаторът на JIT компилира поредицата байтови кодове, той също така извършва определени оптимизации като анализ на данни, превод от операции на стека за регистриране на операции, премахване на субекспресии и т.н. Това прави много ефективен, когато става въпрос за изпълнение и изпълнение.
Сега, след като знаете основите на JIT Compiler, нека да продължим напред и да разберем как работи.
Работа на JIT Compiler в Java
Компилаторът JIT ускорява работата на Java приложенията по време на изпълнение. Тъй като Java е , тя се състои от . По принцип той представлява байт код, който е независим от платформата и eизпълнен от JVM в диверсифицирани архитектури.
Работния процес:
По-долу диаграмата показва как действителната работа на компилацията протича в Java Runtime Environment.
Когато кодирате , JRE използва компилатор javac за компилиране на високо ниво Изходен код до байт код . След това JVM зарежда байтовия код по време на изпълнение и преобразува в двоичен код на ниво машина за по-нататъшно изпълнение с помощта на Interpreter.
Както вече споменах по-горе, интерпретацията на байтов код на Java намалява производителността в сравнение с родното приложение. Това е мястото, където JIT Compiler помага за повишаване на производителността чрез компилиране на байтовия код в роден машинен код 'точно навреме' да бягам.
Компилаторът JIT се активира и активира по подразбиране при извикване на метод в Java. Когато методът се компилира, Java Virtual Machine извиква компилирания код на метода директно, без да го интерпретира. Следователно, той не изисква много използване на паметта и процесорно време. Това всъщност ускорява производителността на Java Native Application.
И така, това работи. Сега нека да се потопим по-дълбоко в тази статия и да разберем аспектите на сигурността на JIT Compiler в Java.
Аспекти на сигурността на JIT в Java
Компилирането на байт код в машинен код от JIT Compiler се извършва директно в паметта. т.е.компилаторът захранва машинния код директно в паметта и го изпълнява. В този случай той не съхранява машинния код на диска, преди да извика файла на класа и да го изпълни. По принцип паметта трябва да бъде маркирана като изпълнима. От съображения за сигурност, това трябва да бъде завършено, след като кодът бъде записан в паметта. Той също трябва да бъде маркиран като само за четене, тъй като изпълнимия памет е дупка в сигурността. Ако искате да научите повече за това, можете да разгледате тази статия на Аспекти на сигурността на JIT Compiler .
Сега, нека сега да продължим напред и да знаем плюсовете и минусите на Съставител точно навреме в Java.
Плюсове и минуси на JIT в Java
Професионалисти :
Java кодът, който сте писали преди години, ще работи по-бързо дори и днес и който подобрява производителността на Java програми.
данни за екземпляр за Java клас
Родните изображения също се изпълняват по-бързо, тъй като не притежават стартови дейности и изискват по-малко памет.
Минуси:
Увеличава сложността на .
Програми с по-малко код не се възползват от Compilation Just-In-Time.
Това ни води до края на тази статия за JIT в Java. Надявам се, че ви е било информативно.
Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат Java Developer.
Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия „JIT в Java“ и ние ще се свържем с вас възможно най-скоро.