Środowisko JRE (Java Runtime Environment)

menu icon

Środowisko JRE (Java Runtime Environment)

Dowiedz się, na czym polega rola środowiska wykonawczego Java (JRE) i jak współpracuje ono z innymi komponentami platformy Java podczas uruchamiania aplikacji napisanych w tym języku.

Czym jest środowisko wykonawcze Java (Java Runtime Environment — JRE)?

Środowisko wykonawcze Java, lub inaczej JRE, to warstwa oprogramowania, która działa w systemie operacyjnym komputera i udostępnia biblioteki klas oraz inne zasoby potrzebne do uruchomienia określonego programu Java.

Środowisko JRE jest jednym z trzech wzajemnie powiązanych komponentów niezbędnych do tworzenia i uruchamiania programów Java. Pozostałe dwa komponenty to:

  • Pakiet Java Development Kit (JDK) to zestaw narzędzi służących do tworzenia aplikacji Java. Pakiety JDK są dostępne w różnych wersjach, pakietach i edycjach, takich jak Java Enterprise Edition (Java EE), Java Special Edition (Java SE) lub Java Mobile Edition (Java ME). Każdy pakiet JDK zawiera kompatybilne środowisko JRE, ponieważ uruchamianie programów Java jest częścią procesu ich tworzenia.
  • Wirtualna maszyna języka Java (JVM) wykonuje aktywne aplikacje Java. Każde środowisko JRE zawiera domyślną maszynę JVM, ale programiści mogą wybrać inną, która spełnia określone zapotrzebowania aplikacji na zasoby.

Środowisko JRE łączy kod Java utworzony przy użyciu pakietu JDK z bibliotekami niezbędnymi do uruchomienia go na maszynie JVM, a następnie tworzy instancję maszyny JVM, która wykonuje program wynikowy. Dostępne są maszyny JVM dla rożnych systemów operacyjnych, a programy utworzone przy użyciu środowiska JRE będą działać na każdej z nich. Dzięki temu środowisko wykonawcze Java umożliwia uruchamianie programów Java w dowolnym systemie operacyjnym, bez żadnych modyfikacji.

Pakiet JDK wraz z kompatybilnym środowiskiem JRE można pobrać w serwisie Oracle (odsyłacz prowadzi poza serwis IBM).

Jak działa środowisko JRE?

Pakiet JDK i środowisko JRE współpracują ze sobą, tworząc stabilne środowisko wykonawcze, które umożliwia bezproblemowe uruchamianie aplikacji Java w praktycznie każdym systemie operacyjnym. Na architekturę środowiska JRE składają się następujące komponenty:

ClassLoader

Java ClassLoader dynamicznie ładuje wszystkie klasy niezbędne do uruchomienia programu Java. Ponieważ klasy Java są ładowane do pamięci tylko wtedy, gdy są potrzebne, środowisko JRE korzysta z programu ładującego klasy (ClassLoader), aby automatyzować ten proces na żądanie.

Weryfikator kodu bajtowego

Weryfikator kodu bajtowego sprawdza format i dokładność kodu Java przed przekazaniem go do interpretera. Jeśli kod narusza integralność systemu lub prawa dostępu, klasa zostanie uznana za uszkodzoną i nie będzie ładowana.

Interpreter

Po pomyślnym załadowaniu kodu bajtowego interpreter języka Java tworzy instancję maszyny JVM, która umożliwia uruchomienie programu Java w rodzimym trybie komputera bazowego.

Jakie komponenty składają się na środowisko JRE?

Oprócz wirtualnej maszyny języka Java środowisko JRE zawiera różne narzędzia i funkcje pomocnicze, dzięki którym aplikacje mogą działać w sposób optymalny.

Rozwiązania w dziedzinie wdrażania

Wraz ze środowiskiem JRE instalowane są także różnorodne technologie wdrażania, takie jak Java Web Start i Java Plugin, które upraszczają proces aktywacji aplikacji i zapewniają zaawansowaną obsługę przyszłych aktualizacji Java.

Pakiety narzędzi dla programistów

Środowisko JRE zawiera również pakiety narzędzi, dzięki którym programiści mogą tworzyć doskonalsze interfejsy użytkownika. Niektóre z tych pakietów narzędzi to:

  • Java 2D: aplikacyjny interfejs programistyczny (API) służący do wyświetlania dwuwymiarowej grafiki w języku Java. Programiści mogą tworzyć bogate interfejsy użytkownika, efekty specjalne, gry i animacje.
  • Abstract Window Toolkit (AWT): graficzny interfejs użytkownika (GUI) służący do tworzenia obiektów, przycisków, pasków przewijania i okien.
  • Swing: inny uproszczony interfejs GUI, który zawiera bogaty zestaw widgetów, oferujący elastyczne, intuicyjne możliwości dostosowywania interfejsu.

Biblioteki integracyjne

Środowisko wykonawcze Java udostępnia wiele bibliotek integracyjnych, które pomagają programistom w tworzeniu bezproblemowych połączeń danych między aplikacjami i usługami. Niektóre z tych bibliotek to:

  • Java IDL (CORBA): wykorzystuje wspólną architekturę żądań obiektowych (Common Object Request Architecture) do obsługi rozproszonych obiektów utworzonych w języku Java.
  • Java Database Connectivity (JDBC) API: udostępnia programistom narzędzia służące do pisania aplikacji, które mają dostęp do zdalnych baz danych dotyczących relacji, plików tekstowych i arkuszy kalkulacyjnych.
  • Java Naming and Directory Interface (JNDI): interfejs programistyczny i usługa katalogowa umożliwiające tworzenie przenośnych aplikacji, które mogą pobierać informacje z baz danych przy użyciu konwencji nazewnictwa.

Biblioteki językowe i narzędziowe

Do środowiska JRE dołączono pakiety java.lang. i java.util., które mają kluczowe znaczenie podczas projektowania aplikacji Java, tworzenia różnych wersji pakietów, zarządzania i monitorowania. Niektóre z tych pakietów to:

  • Struktura kolekcji: zunifikowana architektura składająca się ze zbioru interfejsów zaprojektowanych z myślą o usprawnianiu przechowywania i przetwarzania danych aplikacji.
  • Narzędzia obsługujące współbieżność: zaawansowany pakiet strukturalny zawierający wysokowydajne narzędzia do obsługi wątków.
  • Interfejs API preferencji: uproszczony, wieloplatformowy, trwały interfejs API, dzięki któremu różni użytkownicy korzystający z tej samej maszyny mogą definiować własne grupy preferencji aplikacji.
  • Rejestrowanie: generuje raporty w formie dzienników, które dotyczą między innymi awarii zabezpieczeń, błędów konfiguracyjnych i problemów z wydajnością.
  • Archiwum Java (JAR): niezależny od platformy format umożliwiający tworzenie archiwów JAR, które mogą zawierać wiele plików. Funkcja ta znacznie zwiększa szybkość pobierania i zmniejsza wielkość plików.

Środowisko JRE i IBM

Środowisko JRE i chmura IBM Cloud

Wiele organizacji nadal tworzy aplikacje w języku Java, który doskonale sprawdza się podczas opracowywania przenośnych i skalowalnych rozwiązań. Może on również odgrywać kluczową rolę podczas modernizowanie aplikacji pod kątem chmury.

Wykonaj kolejny krok:

  • Poznaj OpenJDK i IBM Runtimes for Business — niezawodne i ekonomiczne rozwiązania komercyjne w dziedzinie wdrażania i monitorowania aplikacji Java oraz zarządzania nimi.

Załóż konto IBM Cloud już dzisiaj.