Was ist der Unterschied Zwischen JDK, JRE und JVM?

Wenn Sie ein Java-software-Entwicklung-Neuling wie mich haben Sie gebeten worden, diese Frage einmal oder zweimal vor (mehr als wahrscheinlich in einer Befragung Einstellung). Und wenn Sie so etwas wie ich sind, haben Sie versucht, die Unterschiede zu unterscheiden, und es fiel Ihnen erheblich schwer, dies zu tun.

ALSO-ich werde versuchen, es in überschaubare mundgerechte Stücke zu zerlegen, damit Neulinge wie du und ich unser Gehirn um diese drei Java-Heftklammern wickeln können. Beginnen wir mit der Bedeutung dieser Akronyme..,

JDK repräsentiert das „Java Development Kit“.

JRE steht für „Java Runtime Environment“.

und JVM ist einfach die „Java Virtual Machine“.

Breaking it down-das JDK: Sowohl die JRE als auch die JVM können im JDK untergebracht werden. Ein JDK wird verwendet, um 1) zu entwickeln 2) auszuführen und 3) Code anzuzeigen. Das JDK ist eine Obermenge der JRE und enthält alles, was sich in der JRE befindet, sowie Tools wie die Compiler und Debugger, die für die Entwicklung von Applets und Anwendungen (StackOverflow) erforderlich sind., Wenn Sie ein Entwickler sind, der daran interessiert ist, eigene Java-Anwendungen oder-Applets zu erstellen, sollten Sie ein JDK installieren. Für Entwickler, die in einer integrierten Entwicklungsumgebung (IDE) arbeiten möchten, kann ein mit Netbeans gebündeltes JDK von der Oracle-Website (Techopedia) heruntergeladen werden. Es gibt verschiedene JDKs für eine Vielzahl von Plattformen. Kurz gesagt, das JDK ist eine Java-Softwareentwicklungsumgebung, die von Entwicklern zum Erstellen und Verwalten von Anwendungen/Applets verwendet wird.

OK! Kommen wir nun zur JRE: Einfach gesagt, die JRE repräsentiert die Java-Laufzeitumgebung., Hier wird Code 1) ausgeführt UND 2) angezeigt. Die JRE enthält eine virtuelle Java-Maschine, Klassenbibliotheken und andere unterstützende Dateien. Es ist wichtig, eine Java-Anwendung/ein Java-Applet auszuführen. Laut Techopedia besteht die JRE aus folgenden Komponenten:

  1. Bereitstellungstechnologien – einschließlich Deployment, Java Web Start und Java Plug-in.,
  2. Integration-Bibliotheken — einschließlich IDL (Interface Definition Language), Java Database Connectivity (JDBC), Java Naming und Directory Interface (JNDI), Remote Method Invocation (RMI), Remote Method Invocation Over Internet Inter-Orb Protocol (RMI-IIOP) und scripting.
  3. Andere Basisbibliotheken-einschließlich internationaler Unterstützung, Eingabe/Ausgabe (E / A), Erweiterungsmechanismus, Beans, Java Management Extensions (JMX), Java Native Interface (JNI), Mathematik, Netzwerk, Überschreibungsmechanismus, Sicherheit, Serialisierung und Java für die XML-Verarbeitung (XML JAXP).,
  4. Lang-und UTIL-Basisbibliotheken-einschließlich Lang – und UTIL -, Management-Versionierung, ZIP -, Instrument -, Reflection -, Collections -, Concurrency-Dienstprogramme, Java Archive (JAR), Protokollierung, Preferences API, Ref-Objekte und reguläre Ausdrücke.
  5. die Java Virtual Machine (JVM), einschließlich Java HotSpot Client und Server Virtuelle Maschinen.

Neuere JREs hosten mehrere tausend Klassen und es wurden völlig neue APIs eingeführt.

Lassen Sie uns abschließend über die kleinste Einheit der drei sprechen: die JVM!, Die Java Virtual Machine zeigt Java-Anwendungen/Applets an, indem sie Java-Bytecode im Wesentlichen in Maschinencode interpretiert. Es ist verantwortlich für all die Dinge wie garbage collection, array bounds checking, etc… JVM plattformabhängig (StackOverflow). Es wird als „virtuell“ bezeichnet, da es eine Maschinenschnittstelle bereitstellt, die nicht vom zugrunde liegenden Betriebssystem und der Hardwarearchitektur des Computers abhängt. Dank der JVM kann Java-Code einmal geschrieben und überall (auf jedem Computer) ausgeführt werden., Kurz gesagt, die JVM verfügt über zwei Hauptfunktionen: 1) damit Java-Programme virtuell auf jedem Gerät oder Betriebssystem ausgeführt werden können und 2) um den Programmspeicher zu verwalten und zu optimieren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.