was ist Java SE, Java Development Kit (JDK), und Java Runtime Environmen (JRE)?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

JRE ist das Java Runtime Environment. Dieses wird benötigt, um Programme, die mit dem Java-Compiler in Java-ByteCode übersetzt wurden, auszuführen. Das JRE beinhaltet dabei sowohl ausführbare Programme als auch das Java Framework, also plattformspezifische Bibliotheken, welche die in Java verwendbaren, plattformunabhängigen Funktinalitäten auf die spezifischen Funktionalitäten des Zielsystems abbilden. Diese benötigt man für jedes Zielsystem, um die Plattformunabhängigkeit von Java-Programmen zu gewährleisten.

JDK ist das Java Development Kit. Dieses beinhaltet neben dem JRE auch Tools, die ein Java-Programmierer braucht, um den Java-Quellcode in vom JRE ausführbaren Java ByteCode zu übersetzen.

Java SE bedeutet "Java Standard Edition".

Eclipse und Co sind nur komfortablere Editoren, die dann den Java-Compiler (javac.exe in der Windows-Version) aufrufen, um den von Dir geschriebenen Quellcode in Java-ByteCode zu übersetzen (.class Dateien). Du kannst generell Java-Programme aber auch mit jedem beliebigen Texteditor schreiben.


redsky 
Fragesteller
 11.12.2019, 16:14

mhm ok,
ich habe ja in Eclipse zahlreiche Methoden auf die ich ohne weiteres zugreifen kann z.B. System.out.println(). Habe ich diese Methoden nur weil ich die JDK heruntergeladen habe? Oder ist die JDK schlichtweg der Compiler? Oder beides?

0
ohwehohach  11.12.2019, 16:18
@redsky

Eclipse bringt zur Not ein eigenes JDK mit. Wenn Du Eclipse hast, dann hast Du auch ein JDK, denn Eclipse benötigt zum Compilieren Deiner Java-Klassen ein JDK.

Das JDK enthält den Java Compiler, aber nicht nur den. (Suche doch mal auf Deinem Rechner einen Ordner, der mit JDK beginnt. Dann siehst Du, was da alles drin ist).

1

JRE: Laufzeitumgebung - also Sachen die du brauchst, um ein Java-Programm auf deinem spezifischen Betriebssystem ausführen zu können.

JDK: Entwickel-Paket - Sachen die du brauchst um Java-Programme zu programmieren (das JRE ist hier schon enthalten).

Der normale User holt sich also JRE und der Programmierer das JDK.

hmm ok also ich habe mal wie @ohwehohach empfohlen hat einen Ordner namens JDK geöffnet und da war eine Datei module.xml drinnen. die .xml Datei sieht wie folgt aus:

<module name="ibm.jdk" xmlns="urn:jboss:module:1.6">
    <properties>
        <property name="jboss.api" value="deprecated"/>
    </properties>

    <resources>

    </resources>
    <dependencies>
        <system export="true">
            <paths>
                <path name="com/ibm"/>
                <path name="com/ibm/crypto"/>
                <path name="com/ibm/crypto/provider"/>
                <path name="com/ibm/jvm"/>
                <path name="com/ibm/jvm/io"/>
                <path name="com/ibm/jvm/util"/>
                <path name="com/ibm/math"/>
                <path name="com/ibm/misc"/>
                <path name="com/ibm/misc/resources"/>
                <path name="com/ibm/net"/>
                <path name="com/ibm/nio"/>
                <path name="com/ibm/nio/ch"/>
                <path name="com/ibm/security/auth"/>
                <path name="com/ibm/security/auth/callback"/>
                <path name="com/ibm/security/auth/login"/>
                <path name="com/ibm/security/auth/module"/>
                <path name="com/ibm/security/bootstrap"/>
                <path name="com/ibm/security/util"/>
            </paths>
        </system>
    </dependencies>
</module>

Kernstück ist der Tag <dependencie> und dadrunter der Tag <path> kann man in wenigen Sätzen erklären was das macht? Ich hab mal gehört "Dependencies" sind Programmcode der jemand anders geschrieben hat auf den man zugreift, aber das ist ja kein programmcode sondern eine .xml Datei. Also wie erfolgt hier der Zugriff auf den externen Programmcode?


ohwehohach  11.12.2019, 17:36

Was willst Du denn da??? Finger weg! Ich habe nur gesagt, wenn Du wissen willst, was das JDK beinhaltet, dann kannst Du in den Ordner mal reinschauen!

0
redsky 
Fragesteller
 12.12.2019, 17:09
@ohwehohach

Ok ok ich wollte nur mal aufmachen und gucken :D.

0