Grundlegende Fragen Interview: JDK und JRE

1. Definitionen

JDK ist das Java Development Kit, das voll funktionsfähige Java SDK ist. Es hat alles, als auch die Compiler (javac) und JRE Werkzeuge (wie javadoc und jdb). Es kann das Programm erstellen und kompilieren.

JRE ist die Java Runtime Environment. Es ist alles, was Sie brauchen die kompilierte Java-Programm Sammlung, einschließlich der Java Virtual Machine (JVM), Java-Klassenbibliotheken, java-Befehl und einige andere Basiskomponenten ausgeführt werden. Es kann jedoch nicht verwendet werden, um neue Programme zu erstellen.

2. Unterscheidung

JRE enthält im Wesentlichen: Java-Bibliothek Klassendateien (beide im Verzeichnis lib in Glas verpackt) und virtuelle Maschinen (jvm.dll);

JDK beinhaltet im Wesentlichen: Java-Bibliothek Klassendateien (beide im Verzeichnis lib in Glas verpackt) und kommt mit einem JRE. Warum also sollte JDK kommt mit einem JRE es? Und der nächste Client und Server unter jdk / jre / bin-Ordner enthalten zwei jvm.dll (JDK, die mit JRE Anweisungen kommen zwei virtuelle Maschinen).

3. Schwierigkeiten

Wenn das JDK installiert ist, werden Sie Ihren Computer verfügt über zwei Sätze von JRE, in einem C: \ Programme \ Java \ jre7, ein anderer Satz in C: \ Programme \ Java \ jdk1.7.0_72 unter \ jre Verzeichnis.
JRE Status als PC schreiben wir Win32 - Anwendungen des Betriebssystems erfordern, damit wir die gleichen laufen, Java - Programme müssen auch in unserem JRE geschrieben werden , um zu laufen. Also , wenn Sie fertig geladen JDK, wenn sie getrennt in zwei verschiedenen Stellen auf der Festplatte zwei Sätze von JRE zu installieren, dann können Sie Ihr Computer verfügt über zwei virtuelle Java vorstellen ,
PC - Maschine, haben eine Funktion , Java - Programme ausführen. So können wir sagen, solange der Computer die JRE zu installieren, können Java - Anwendungen ordnungsgemäß ausgeführt werden.

4. Problem

a, lassen Warum das Sun JDK JRE zwei Sätze von der gleichen installiert?
Dies liegt daran , es gibt eine Menge JDK geschrieben in Java - Entwicklungs - Tools, wie javac.exe, jar.exe sind, werden diese Befehle in C platziert: \ Programme \ Java \ jdk1.7.0_72 \ bin - Verzeichnis.
Weil sie in Java - Befehl geschrieben werden, so verlassen auf Java JAR - Paket, diese Paket jar gespeichert in C: \ Programme \ Java \ jdk1.7.0_72 \ lib - Verzeichnis ,
wenn das Verzeichnis C: \ Programme \ Java \ jdk1.7.0 _72 \ lib \ Verzeichnis von tools.jar umbenannten tools1.jar, und führen Sie javac.exe, zeigen die folgenden Ergebnisse:
Ausnahme im Thread "main" java.lang.NoClassDefFoundError: COM / Sun / tools / javac / main
aber die Eingabe java -cp C: \ Programme \ Java \ jdk1.7.0_72 \ lib \ tools1.jar com.sun.tools.javac.Main
die gleichen Ergebnisse javac.exe erhalten.
Von hier aus können wir javac.exe nur einen Wrapper (Wrapper) unter Beweis stellen, während Zweck zu machen ist , damit Entwickler von langen Fingern Leben einzugeben.
Und wir C finden: \ Programme \ Java \ Programme unter jdk1.7.0_72 \ ist klein, nicht größer als 29K, von hier aus können wir die Schlussfolgerung ziehen. Ist die JDK-Tools in Java fast geschrieben ist, es ist auch eine Java-Anwendung, so JDK-Tools verwenden Begleit Java-Programme zu entwickeln, müssen sich auch für den Job zu einem JRE befestigen, so befindet sich unter C: \ Programme \ Java \ jdk1.7.0_72 \ jre Verzeichnis unter dem Satz von JRE die Java-Programme verwendet wird, ausgeführt werden im allgemeinen verwendet.

b, wenn ein Computer mehr als zwei Sätze von JRE installiert ist , wer entscheidet das?
Die Hauptaufgabe fällt java.exe Körper. java.exe Job ist es, eine geeignete JRE zu finden Java - Programme laufen zu lassen. java.exe in Übereinstimmung mit der Reihenfolge von der Unterseite die JRE zu finden: Es gibt kein JRE eigenes Verzeichnis, übergeordnetes Verzeichnis hat keine JRE, die Registrierung abfragen:
[HKEY_LOCAL_MACHINE \ SOFTWARE \ Javasoft \ Java Runtime Environment]
Daher arbeiten Ergebnisse mit Ihrem java.exe JRE ist im Inneren des Computers, die viel zu erfüllen hat.

Veröffentlicht 122 Originalarbeiten · erntete Lob 13 · Ansichten 410 000 +

Ich denke du magst

Origin blog.csdn.net/jinxinxin1314/article/details/105422757
Empfohlen
Rangfolge