JDK vs JRE vs JVM w Java – Różnica między nimi

Kluczowa różnica między JDK, JRE i JVM

  • JDK to zestaw do tworzenia oprogramowania, natomiast JRE to pakiet oprogramowania, który umożliwia Java program do uruchomienia, podczas gdy JVM jest środowiskiem do wykonywania kodu bajtowego.
  • Pełna forma JDK to Java Development Kit, podczas gdy pełna forma środowiska JRE to Java Środowisko wykonawcze, podczas gdy pełna forma JVM to Java Maszyna wirtualna.
  • JDK i JRE są zależne od platformy, natomiast JVM jest niezależny od platformy na poziomie kodu bajtowego, ale zależy od implementacji specyficznych dla danej platformy.
  • JDK zawiera narzędzia do programowania, debugowania itp. JRE zawiera biblioteki klas i inne pliki pomocnicze, podczas gdy narzędzia do tworzenia oprogramowania nie są zawarte w JVM.
  • JDK jest dostarczany z instalatorem, z drugiej strony JRE zawiera tylko środowisko do wykonywania kodu źródłowego, podczas gdy JVM jest zawarty zarówno w oprogramowaniu JDK, jak i JRE.

Co to jest JDK?

JDK to środowisko programistyczne służące do tworzenia apletów i Java aplikacje. Pełna forma JDK to Java Zestaw deweloperski. Java programiści mogą z niego korzystać Windows, macOS, Solarisi Linuksa. JDK pomaga im kodować i uruchamiać Java programy. Możliwe jest zainstalowanie więcej niż jednej wersji JDK na tym samym komputerze.

Co to jest JRE?

JRE to fragment oprogramowania przeznaczony do uruchamiania innego oprogramowania. Zawiera biblioteki klas, klasę modułu ładującego i maszynę JVM. Krótko mówiąc, jeśli chcesz biegać Java program, którego potrzebujesz JRE. Jeśli nie jesteś programistą, nie musisz zainstaluj JDK, ale tylko JRE do uruchomienia Java programy. Chociaż wszystkie wersje JDK są dostarczane w pakiecie Java Runtime Environment, dzięki czemu nie musisz pobierać i instalować środowiska JRE osobno na swoim komputerze. Pełna forma JRE to Java Środowisko wykonawcze.

Co to jest JVM?

JVM to silnik zapewniający środowisko wykonawcze do obsługi aplikacji Java Kod lub aplikacje. Konwertuje Java kod bajtowy na język maszynowy. JVM jest częścią Java Uruchom środowisko (JRE). Nie można go osobno pobrać i zainstalować. Aby zainstalować JVM, musisz zainstalować JRE. Pełna forma JVM to Java Maszyna wirtualna.

W wielu innych językach programowania kompilator tworzy kod maszynowy dla określonego systemu. Jednakże, Java kompilator tworzy kod dla maszyny wirtualnej, która nazywa się JVM.

Dlaczego warto używać JDK?

Oto ważne powody korzystania z JDK:

  • JDK zawiera narzędzia niezbędne do pisania Java programów i środowiska JRE do ich wykonywania.
  • Zawiera kompilator, Java program uruchamiający aplikacje, Appletviewer itp.
  • Kompilator konwertuje zapisany kod Java na kod bajtowy.
  • Java program uruchamiający aplikacje otwiera środowisko JRE, ładuje niezbędną klasę i wykonuje jej główną metodę.

Dlaczego warto używać JRE?

Oto ważne powody korzystania z JRE:

  • JRE zawiera biblioteki klas, JVM i inne pliki pomocnicze. Nie zawiera żadnego narzędzia do Java programowanie, takie jak debuger, kompilator itp.
  • Wykorzystuje ważne klasy pakietów, takie jak math, swingetc, util, lang, awt, a także biblioteki środowiska uruchomieniowego.
  • Jeśli musisz biec Java aplety, wówczas w systemie musi być zainstalowane środowisko JRE.

Dlaczego JVM?

Oto ważne powody korzystania z JVM:

  • JVM zapewnia sposób wykonywania niezależny od platformy Java kod źródłowy.
  • Posiada wiele bibliotek, narzędzi i frameworków.
  • Gdy już pobiegniesz Java Program można uruchomić na dowolnej platformie i zaoszczędzić mnóstwo czasu.
  • JVM jest dostarczany z kompilatorem JIT (Just-in-Time), który konwertuje Java kod źródłowy na język maszynowy niskiego poziomu. Dlatego działa szybciej niż zwykła aplikacja.

Funkcje JDK

Oto ważne cechy JDK:

  • Umożliwia obsługę wielu rozszerzeń w jednym bloku catch.
  • JDK zawiera wszystkie funkcje dostępne w środowisku JRE.
  • Zawiera narzędzia programistyczne, takie jak kompilator, debuger itp.
  • JDK zapewnia środowisko do programowania i wykonywania Java kod źródłowy.
  • Można go zainstalować na WindowsSystemy operacyjne , Unix i Mac.
  • Operatora diamentu można używać do określania interfejsu typu ogólnego zamiast pisania dokładnego typu.

Funkcje JRE

Oto ważne cechy środowiska JRE:

  • Java Runtime Environment to zestaw narzędzi, za pomocą których faktycznie działa JVM.
  • JRE zawiera technologię wdrażania, w tym Java Uruchomienie sieci i Java Podłącz.
  • Programiści mogą z łatwością uruchomić kod źródłowy w JRE, ale nie mogą pisać i kompilować plików Java program.
  • Zawiera biblioteki integracyjne, takie jak Java Łączność z bazą danych (JDBC), zdalne wywoływanie metod (RMI), Java Interfejs nazewnictwa i katalogów (JNDI) i nie tylko.
  • JRE ma JVM i Java Klient maszyny wirtualnej HotSpot.

Funkcje JVM

Oto ważne cechy JVM:

  • Umożliwia uruchamianie aplikacji w środowisku chmury lub na Twoim urządzeniu.
  • Java Maszyna wirtualna konwertuje kod bajtowy na kod specyficzny dla maszyny.
  • Zapewnia podstawowe funkcje Java, takie jak zarządzanie pamięcią, bezpieczeństwo, zbieranie śmieci i inne.
  • JVM uruchamia program korzystając z bibliotek i plików dostarczonych przez Java Środowisko wykonawcze.
  • Zarówno JDK, jak i JRE zawierają Java Maszyna wirtualna.
  • Może wykonywać program Java linia po linii, dlatego nazywany jest również interpreterem.
  • JVM można łatwo dostosować, na przykład można przydzielić jej minimalną i maksymalną pamięć.
  • Jest niezależny od sprzętu i systemu operacyjnego. Tak więc możesz napisać program Java raz i uruchomić go wszędzie.

Jak działa JDK?

Funkcje JDK
Funkcjonalność JDK

Oto ważne komponenty JDK:

  • JDK i JRE: JDK umożliwia programistom tworzenie rdzenia Java programy, które można uruchomić w środowisku JRE, które obejmuje JVM i biblioteki klas.
  • Biblioteki klas: Jest to grupa dynamicznie ładowanych bibliotek, które Java program może wywoływać w czasie wykonywania.
  • Kompilatory: Jest Java program, który akceptuje pliki tekstowe programistów i kompiluje się do Java plik klasy. Jest to powszechna forma danych wyjściowych podawana przez kompilator, która zawiera Java kod bajtowy. W Java, głównym kompilatorem jest Javac.
  • Debugery: Debuger jest Java program, który pozwala programistom testować i debugować Java programy.
  • JavaDokument: JavaDoc to dokumentacja stworzona przez firmę Sun Microsystems dla systemu Java. JavaDoc można wykorzystać do wygenerowania dokumentacji API w pliku HTML z programu źródłowego

Jak działa środowisko JRE?

Funkcje JRE

Funkcjonalność JRE

JRE zawiera instancję JVM, klasy biblioteczne i narzędzia programistyczne. Kiedy już napiszesz i skompilujesz Java kodu, kompilator generuje plik klasy zawierający kod bajtowy.

Oto ważne komponenty JRE:

  • Ładowacze klas: Moduł ładujący klasy ładuje różne klasy niezbędne do uruchomienia pliku Java program. JVM używa trzech programów ładujących klasy, zwanych modułem ładującym klasy bootstrap, modułem ładującym klasy rozszerzeń i modułem ładującym klasy systemowe.
  • Weryfikator kodu bajtowego: Weryfikator kodu bajtowego weryfikuje kod bajtowy tak, aby kod nie przeszkadzał interpreterowi.
  • Interpretator: Po załadowaniu klas i zweryfikowaniu kodu interpreter czyta kod linia po linii.
  • Czas pracy: Czas wykonania to system używany głównie w programowaniu do opisu okresu, w którym działa dany program.
  • Sprzęt: Po skompilowaniu Java kod natywny, działa na określonej platformie sprzętowej.

W ten sposób Java program działa w środowisku JRE.

Jak działa JVM?

Funkcje JVM

Funkcjonalność JVM

Oto ważne komponenty JVM:

1) Moduł ładujący klasy

Ładowarka klas jest podsystemem używanym do ładowania plików klas. Wykonuje trzy główne funkcje, tj. ładowanie, łączenie i inicjowanie.

2) Obszar metody

Obszar metody JVM przechowuje strukturę klasy, taką jak metadane, kod Java metod i stałą pulę czasu wykonywania.

3) Kupa

Wszystkie obiekty, tablice i zmienne instancji są przechowywane na stercie. Ta pamięć jest współdzielona przez wiele wątków.

4) Stosy językowe JVM

Java język Stosy przechowują zmienne lokalne i ich częściowe wyniki. Każdy wątek ma swój własny stos językowy JVM, tworzony jednocześnie podczas tworzenia wątku. Nowa ramka tworzona jest po wywołaniu metody i usuwana po zakończeniu procesu wywoływania metody.

5) Rejestry komputerów

Rejestry komputera przechowują adres Java instrukcja maszyny wirtualnej, która jest aktualnie wykonywana. W Java, każdy wątek ma swój oddzielny rejestr PC.

6) Stosy metod natywnych

Stosy metod natywnych przechowują instrukcje kodu natywnego zależnego od biblioteki natywnej. Przydziela pamięć na natywnych stertach lub używa dowolnego typu stosu.

7) Silnik wykonawczy

Jest to rodzaj oprogramowania używany do testowania oprogramowania, sprzętu lub całych systemów. Silnik wykonywania testów nigdy nie przenosi żadnych informacji o testowanym produkcie.

8) Interfejs metody natywnej

Natywny interfejs metod jest frameworkiem programistycznym. Pozwala Java kod, który działa w maszynie JVM i jest wywoływany przez biblioteki i aplikacje natywne.

9) Biblioteki metod natywnych

Native Libraries to zbiór bibliotek Native (C, C++), które są potrzebne silnikowi wykonawczemu.

Różnica między JDK, JRE i JVM

Oto główne różnice między JDK, JRE i JVM:

JDK JRE FMV
Pełna forma JDK to Java Zestaw deweloperski. Pełna forma JRE to Java Środowisko wykonawcze. Pełna forma JVM to Java Maszyna wirtualna.
JDK to zestaw programistyczny do tworzenia aplikacji w Java. Jest to pakiet oprogramowania, który zapewnia Java biblioteki klas z niezbędnymi komponentami do uruchomienia Java kod. JVM wykonuje Java kod bajtowy i zapewnia środowisko do jego wykonania.
JDK jest zależny od platformy. JRE jest również zależne od platformy. JVM jest niezależny od platformy.
Zawiera narzędzia do tworzenia, debugowania i monitorowania kodu Java. Zawiera biblioteki klas i inne pliki pomocnicze wymagane przez JVM do uruchomienia programu. Narzędzia programistyczne nie są zawarte w JVM.
Jest to nadzbiór JRE Jest to podzbiór JDK. JVM jest podzbiorem JRE.
JDK umożliwia programistom tworzenie Java programy, które mogą być uruchamiane i uruchamiane przez środowiska JRE i JVM. Środowisko JRE jest częścią Java który tworzy JVM. To jest Java komponent platformy wykonujący kod źródłowy.
JDK jest dostarczany z instalatorem. JRE zawiera tylko środowisko do wykonywania kodu źródłowego. JVM dołączony zarówno do oprogramowania JDK, jak i JRE.