Co to jest JIT w Javie? - Zrozumienie podstaw języka Java



Kompilator Just-In-Time jest jedną z integralnych części środowiska Java Runtime Environment. W tym artykule na temat JIT w Javie dowiesz się, jak ten kompilator zwiększa wydajność aplikacji Java.

Każdy język programowania używa kompilatora do konwersji kodu języka wysokiego poziomu na kod binarny na poziomie maszyny, ponieważ system rozumie tylko kod binarny. W zależności od typu języka programowania kompilator różni się. Teraz mówimy o , używa tego niesamowitego kompilatora o nazwie JIT (Just-in-Time) w Javie . Ten blog powie Ci wszystko o kompilatorze JIT Java.

Poniżej znajdują się tematy poruszone w tym artykule:





Więc zacznijmy!

Kompilator Java JIT - przegląd

Plik Kompilator Just-In-Time jest jedną z integralnych części . Jest głównie odpowiedzialny za optymalizację wydajności aplikacji opartych na języku Java w czasie wykonywania lub w czasie wykonywania. Generalnie, głównym mottem kompilatora jest zwiększenie wydajności aplikacji dla użytkownika końcowego i twórcy aplikacji.



Zagłęb się w JIT w Javie

  • Kod bajtowy to główny potencjał środowiska Java WORA (Napisz raz, uruchom w dowolnym miejscu). Szybkość Aplikacja Java zależy od sposobu, w jaki kod bajtowy jest konwertowany na natywny kod maszynowy. Kod bajtowy może być zinterpretowany lub skompilowany do kodu natywnego lub bezpośrednio wykonany na procesorze. Jednak interpretacja kodu bajtowego ma bezpośredni wpływ na szybkość aplikacji.

  • Aby przyspieszyć działanie, kompilator JIT komunikuje się z maszyną JVM w czasie wykonywania, aby skompilować sekwencje kodu bajtów w natywny kod maszynowy. Zasadniczo, podczas korzystania z kompilatora JIT, kod natywny jest łatwo wykonywany przez sprzęt w porównaniu z interpretatorem JVM. W ten sposób nastąpi ogromny wzrost szybkości wykonywania.

  • Kiedy kompilator JIT kompiluje serię kodu bajtowego, wykonuje również pewne optymalizacje, takie jak analiza danych, translacja operacji na stosie do operacji rejestrowania, eliminacja podwyrażeń itp. bardzo wydajne, jeśli chodzi o wykonanie i wydajność.



Teraz, gdy znasz już podstawy kompilatora JIT, przejdźmy dalej i zrozummy, jak działa.

Praca kompilatora JIT w Javie

Kompilator JIT przyspiesza działanie aplikacji Java w czasie wykonywania. Ponieważ Java to , składa się z . Zasadniczo stanowi kod bajtowy, który jest niezależny od platformy i execed przez JVM w zróżnicowanych architekturach.

Przepływ pracy:

Poniższy diagram przedstawia faktyczne działanie kompilacji w środowisku Java Runtime Environment.

Kompilator JIT - JIT w Javie - Edureka

różnica między przeciążeniem metody a przesłanianiem metody

  1. Kiedy kodujesz , JRE używa kompilatora javac do kompilowania wysokiego poziomu Kod źródłowy do kodu bajtowego . Następnie JVM ładuje kod bajtowy w czasie wykonywania i konwertuje na kod binarny na poziomie maszyny w celu dalszego wykonania za pomocą narzędzia Interpreter.

  2. Jak już wspomniałem powyżej, interpretacja kodu bajtowego Javy zmniejsza wydajność w porównaniu z aplikacją natywną. W tym miejscu JIT Compiler pomaga zwiększyć wydajność, kompilując kod bajtowy do natywnego kodu maszynowego „Just in time” biegać.

  3. Kompilator JIT jest domyślnie aktywowany i włączony, gdy metoda jest wywoływana w języku Java. Kiedy metoda jest kompilowana, Java Virtual Machine wywołuje skompilowany kod metody bezpośrednio, bez interpretowania jej. W związku z tym nie wymaga dużego użycia pamięci i czasu procesora. To zasadniczo przyspiesza działanie natywnej aplikacji Java.

A więc tak to działa. Teraz zagłębmy się w ten artykuł i poznajmy aspekty bezpieczeństwa kompilatora JIT w Javie.

Aspekty bezpieczeństwa JIT w Javie

Kompilacja kodu bajtowego do kodu maszynowego przez JIT Compiler odbywa się bezpośrednio w pamięci. tzn. kompilator podaje kod maszynowy bezpośrednio do pamięci i wykonuje go. W tym przypadku nie przechowuje kodu maszynowego na dysku przed wywołaniem pliku klasy i wykonaniem go. Zasadniczo pamięć powinna być oznaczona jako wykonywalna. Ze względów bezpieczeństwa należy to zrobić po zapisaniu kodu w pamięci. Powinien być również oznaczony jako tylko do odczytu, ponieważ pamięć wykonywalna jest luką w zabezpieczeniach. Jeśli chcesz dowiedzieć się więcej na ten temat, zapoznaj się z tym artykułem na Aspekty bezpieczeństwa kompilatora JIT .

Przejdźmy teraz dalej i poznajmy wady i zalety Kompilator Just-In-Time w Javie.

Plusy i minusy JIT w Javie

Plusy :

  1. Kod Java, który napisałeś wiele lat wcześniej, będzie działał szybciej nawet dzisiaj, a to poprawia wydajność programów Java.

  2. Obrazy natywne są również wykonywane szybciej, ponieważ nie mają działań startowych i wymagają mniej pamięci.

Cons:

  1. Zwiększa złożoność .

  2. Programy z mniejszą ilością kodu nie korzystają z kompilacji Just-In-Time.

To prowadzi nas do końca tego artykułu o JIT w Javie. Mam nadzieję, że znalazłeś to pouczające.

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz tych pytań do wywiadu Java, opracowaliśmy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym artykule „JIT w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.