Java Development Kit
Java Development Kit
| |
---|---|
![]() | |
Basisdaten
| |
Entwickler | Oracle Corporation |
Aktuelle Version | 8 Update 77 (Format invalid) |
Betriebssystem | Windows, Solaris, Linux, OS X |
Programmiersprache | Java, C |
deutschsprachig | ja |
www.java.com |
Das Java Development Kit (JDK) des Unternehmens Oracle – ehemals von Sun Microsystems – ist eines der von Java-Entwicklern meistgenutzten Java-SDKs.
Im November 2006 gab Sun bekannt, dass das JDK unter der GNU General Public License (GPL) veröffentlicht wird.[2] Nun wird eine angepasste freie Version als ihr nunmehr offizieller Nachfolger unter dem Namen OpenJDK weitergeführt.
Bestandteile
Das JDK beinhaltet neben der Laufzeitumgebung Java Runtime Environment (JRE) die folgenden Java-Entwicklungswerkzeuge:
Java-Compiler
Der Java-Compiler (javac
) übersetzt Java-Quellcode in Java-Bytecode.[3] Er liest den Quellcode aus Dateien mit der Endung .java
und schreibt den Bytecode in Dateien, die auf .class
enden. Die eigentlichen Dateinamen entsprechen dem Namen der zu übersetzenden Klasse. Das Paket, in dem die Klasse liegt, wird auf einen passenden Verzeichnispfad abgebildet. Ein Java-Paket (englisch Package) ist ein eigener Namensraum. Zum Beispiel kann eine Datei HalloWelt.java
die Klasse org.wikipedia.HalloWelt
enthalten. Dann erzeugt der Aufruf javac org.wikipedia.HalloWelt.java
eine Datei HalloWelt.class
im Verzeichnis „org/wikipedia
“ (bzw. „org\wikipedia
“ unter Windows). Der Java-Compiler ist in Java geschrieben und plattformunabhängig, das heißt, der Bytecode des Compilers ist auf unterschiedlichen Plattformen identisch.
Java-Debugger
Der Java-Debugger (jdb
) ist ein Tool zum Debuggen einer laufenden Java-Anwendung[4]. Es werden dabei klassische Debuggerfunktionen unterstützt wie:
- Code Listing (Quellcode anzeigen)
- Setzen von Unterbrechungspunkten (Breakpoints)
- Inspizieren von Variablen und Datenstrukturen zur Laufzeit
Er kann direkt mit einer Laufzeitumgebung gestartet werden oder aber ad-hoc in eine entsprechend konfigurierte Laufzeitumgebung eingeklinkt werden (Remote Debugging). In der Dokumentation wird darauf verwiesen, dass der mitgelieferte Java-Debugger lediglich eine Demonstration der mächtigen Java Debugging API sei. Demzufolge bringen die meisten Java-Entwicklungsumgebungen einen einfacher zu benutzenden Debugger mit.
Java-Dokumentationswerkzeug
Das Software-Dokumentationswerkzeug javadoc
erzeugt aus dem Java-Quellcode eine Programmdokumentation als HTML-Hypertext. Dazu werden neben strukturellen Informationen auch Kommentare berücksichtigt.
Java-Archiver
Das Programm jar
erstellt Java-Archive (so genannte JAR-Dateien). Das sind spezielle ZIP-Dateien, in denen Java-Klassen zu verteilbaren Einheiten zusammengefasst werden. Das Werkzeug hat eine ähnliche Kommandozeilensyntax wie das bekannte Unix-Programm tar
, ermöglicht jedoch zusätzlich die direkte Manipulation der darin enthaltenen „Manifest-Datei“. In dem JAR-Archiv werden sämtliche .class
-Dateien, Grafiken, Textdateien und sonstige Dateien, also beispielsweise alles, was eine Java-Anwendung benötigt, zu einer einzigen Datei zusammengepackt, dem JAR-Archiv.
Dienstprogramm zum Signieren von JAR-Dateien
Das Werkzeug jarsigner
ist zum Signieren von Java-Anwendungen und Bibliotheken sowie zur Signatur-Überprüfung im JDK enthalten.
Werkzeuge für Applets
Java Applet Viewer
Der appletviewer
ist ein sehr einfacher Browser, der nur die in einem HTML-Dokument enthaltenen Java-Applets jeweils in einem eigenen Fenster anzeigt. Dieses Programm kann verwendet werden, um während der Programmierung schnell und einfach Applets zu testen.
Java Plug-in HTML Converter
Der htmlconverter
ist ein interaktives Programm, mit dem die früher üblichen <applet>
-Tags in <object>
-Tags umgewandelt werden können. Solche Tags werden von Browsern erwartet, die mit dem Java-Plugin ausgestattet sind, das Teil der Java-Laufzeitumgebung JRE ist.
Webservice Importer
Das Tool wsimport
wurde im Zuge der Java API for XML Web Services mit dem JDK ausgerollt. Es dient hauptsächlich dazu, Stubs für Webservice-Clients auf Basis einer WSDL zu generieren.
Werkzeuge zur Leistungsüberwachung und Management eines Javaprogramms
JConsole
Seit der Version 1.5 gibt es das Tool jconsole
, welches hauptsächlich entwickelt wurde um die sogenannten Management Beans (MBeans) benutzen zu können.[5] Mit Hilfe der JConsole kann man Laufzeitparameter der JVM einsehen und überwachen, u.A.:
- Speicherverbrauch (Heap, PermGen)
- Funktionsweise der automatischen Speicherverwaltung (Garbage Collection)
- Mittels der Funktion Heapdump, kann man einen aktuellen Snapshot des gesamten virtuellen Speicherbreiches einer JVM erzeugen und detaillierte Informationen über benutzte Objekte, Referenzen u.v.m. erhalten.
Einen Sonderfall stellen dabei die MBeans dar, sie sind Bestandteil der Java Management Extensions. Die JConsole ist in der Lage, sowohl lokale als auch remote laufende JVMs zu überwachen und zu steuern. JConsole kann über Plugins erweitert werden.
JVisualVM
Seit Version 1.6 wird mit dem JDK das Tool jvisualvm
[6] ausgerollt. Dies nicht direkt unter der Ägide von Sun bzw. Oracle entwickelte Tool, stellt einen ähnlichen Funktionsumfang wie die JConsole bereit und ist ebenfalls durch Plugins erweiterbar.
Java Mission Control
Seit Version 1.7 Patch 40 (7u40) rollt Oracle das auf Basis von Eclipse RCP eigenentwickelte Tool jmc
(Java Mission Control) aus[7]. Neben den klassischen Featuresets von JConsole und JVisualVM ist der Flight Recorder[8] eine besondere Neuheit. Dieser ist direkt in die JVM integriert und sammelt bei Bedarf eine Vielzahl an Datenpunkten der laufenden VM (Speicher, Instanzcount etc.). Lt. Aussage des Herstellers soll dies mit minimalem Performance Overhead stattfinden, sodass entgegen der meisten Profilingtools ein Einsatz in produktiver Umgebung möglich sein soll. Die Daten lassen sich entweder sammeln oder aber live mit Java Mission Control auswerten.
Unterstützte Plattformen
Für die folgenden Plattformen wird das aktuelle JDK von Oracle direkt bereitgestellt:
- Windows 32bit und AMD64
- Solaris SPARC und x86
- Linux (ab Sun-JDK 1.4.2) 32bit, AMD64 und IA64
- Solaris AMD64
Für weitere Plattformen wird das JDK üblicherweise Monate bis Jahre später und meist direkt vom Hersteller der Plattform geliefert. So wird beispielsweise in Mac OS X das JDK 1.6 direkt von Apple systemnah eingebaut, ab Java 1.7 wird dieses jedoch von Oracle bereitgestellt.[9]
Für SAP-Systeme wird das JAVA JDK mittlerweile direkt von SAP bereitgestellt. Aktuell gibt es die Versionen SAP JVM 4.1 (Java 1.4), SAP JVM 5 (Java 5) und SAP JVM 6 (Java 6) für alle von SAP unterstützen Plattformen. Grund hierfür war hauptsächlich die weitere Supportleistung für Java 1.4 (jetzt durch SAP JVM 4.1), welche durch die SAP Business Suite bis 2020 gewährleistet sein muss.
Download
Das JDK kann sowohl separat als auch im Paket mit der Java-IDE NetBeans heruntergeladen werden. Es ist Bestandteil der Implementation der Java Platform Standard Edition, die unter anderem auch definiert, welche Klassenbibliotheken dem Entwickler zur Verfügung stehen.
Weblinks
- Java SE 7 Documentation (englisch, allgemeine Dokumentation zum JDK)
- Javadoc Developer Kit (JDK) Search Engine (Suchmaschine zur Dokumentation)
- Downloadseite des JDK (englisch)
Einzelnachweise
- ↑ Java 8 Releases nach Datum – Seite bei Java.com, abgerufen am Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
- ↑ Open-Source-Java: Details und Reaktionen – Meldung bei Heise open, vom Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.. Abgerufen am Vorlage:Datum – die Form mit drei unbenannten Parametern oder anderen einzelnen Zeiteinheiten ist veraltet und wird nicht mehr unterstützt. Bitte gib das Datum einfach im Klartext an.
- ↑ javac Java SE Dokumentation bei Oracle (englisch); abgerufen 20. November 2013
- ↑ http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html
- ↑ https://blogs.oracle.com/alanb/entry/getting_started_with_jconsole_just
- ↑ https://visualvm.java.net/
- ↑ http://www.oracle.com/technetwork/java/javaseproducts/mission-control/java-mission-control-1998576.html
- ↑ http://docs.oracle.com/javacomponents/jmc-5-5/jfr-runtime-guide/about.htm#sthref7
- ↑ Oracle and Apple Announce OpenJDK Project for Mac OS X Apple PressInfo