Jeśli jesteś początkującym programistą Javy, takim jak ja, zadawano ci to pytanie raz lub dwa razy (bardziej niż prawdopodobne w Ustawieniach wywiadu). I jeśli jesteś jak ja, starałeś się odróżnić różnice i miałeś dużo trudności z tym.
więc-zamierzam spróbować rozbić go na łatwe do opanowania kawałki, aby nowicjusze tacy jak ty i ja mogli owijać nasze mózgi wokół tych trzech zszywek Java. Zacznijmy od znaczenia tych akronimów..,
JDK reprezentuje „Java Development Kit”.
JRE oznacza „Java Runtime Environment”.
a JVM to po prostu „wirtualna maszyna Javy”.
rozkładając go-JDK: zarówno JRE jak i JVM mogą być umieszczone w JDK. JDK jest używany do 1) rozwijania 2) wykonywania i 3) wyświetlania kodu. JDK jest supersetem JRE i zawiera wszystko, co znajduje się w JRE, a także narzędzia, takie jak kompilatory i debuggery niezbędne do tworzenia apletów i aplikacji (StackOverflow)., Jeśli jesteś programistą zainteresowanym tworzeniem własnych aplikacji lub apletów Java, będziesz chciał zainstalować JDK. Dla programistów, którzy chcą pracować w zintegrowanym środowisku programistycznym (IDE), JDK w pakiecie z Netbeans można pobrać ze strony internetowej Oracle (Techopedia). Istnieją różne JDK, które pasują do szerokiej gamy platform. W skrócie, JDK to środowisko programistyczne Java, używane przez programistów do tworzenia i zarządzania aplikacjami / apletami.
OK! Przejdźmy teraz do JRE: Mówiąc najprościej, JRE reprezentuje środowisko Java runtime environment., Tutaj kod jest 1) wykonywany i 2) wyświetlany. JRE zawiera wirtualną maszynę Javy, biblioteki klas i inne pliki pomocnicze. Jest to niezbędne do uruchomienia aplikacji/apletu Java. Według Techopedii, JRE składa się z następujących komponentów:
- technologie wdrożeniowe— w tym deployment, Java Web Start i Java Plug-in.,
- biblioteki integracyjne-w tym Język definicji interfejsu (IDL), Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) i skrypty.
- inne biblioteki bazowe-w tym międzynarodowe wsparcie, wejście/wyjście( I / O), mechanizm rozszerzeń, Beans, Java Management Extensions (JMX), Java Native Interface (JNI), Matematyka, sieci, Mechanizm nadpisywania, bezpieczeństwo, serializacja i Java dla przetwarzania XML (XML JAXP).,
- biblioteki bazowe Lang i util — w tym lang i util, wersjonowanie zarządzania, zip, instrument, reflection, Collections, narzędzia współbieżne, Archiwum Java (jar), Logowanie, API preferencji, Obiekty Ref i wyrażenia regularne.
- Java Virtual Machine (JVM), w tym Java HotSpot Client and Server Virtual Machines.
nowszy JREs hostuje kilka tysięcy klas i wprowadzono zupełnie nowe interfejsy API.
na koniec porozmawiajmy o najmniejszej jednostce z trzech: JVM!, Java virtual machine wyświetla aplikacje/aplety Javy, zasadniczo interpretując kod bajtowy Javy na kod maszynowy. Jest on odpowiedzialny za wszystkie rzeczy, takie jak usuwanie śmieci, sprawdzanie granic tablic, itp… JVM jest zależny od platformy (StackOverflow). Nazywa się go „wirtualnym”, ponieważ zapewnia interfejs maszyny, który nie zależy od bazowego systemu operacyjnego i architektury sprzętu maszyny. Dzięki JVM Kod Javy może być napisany raz i uruchamiany w dowolnym miejscu (na dowolnym komputerze)., W skrócie, JVM ma dwie podstawowe funkcje: 1) umożliwia uruchamianie programów Java praktycznie na dowolnym urządzeniu lub systemie operacyjnym oraz 2) zarządzanie i optymalizację pamięci programu.