© Excellent backgrounds/Shutterstock.com
Teil 3: Neue und alte JDK-Tools

Neuzugänge und Abgänge


Wir wollen Ihnen in dieser Artikelreihe einen Überblick über die Neuerungen in Java 9 verschaffen und einige Features von Java 9 kurz erläutern. Dabei haben wir diejenigen Themen ausgewählt, von denen wir denken, dass sie für Java-Entwickler am interessantesten sind. Und natürlich werfen wir einen Blick auf die größte Neuerung: das Modulsystem.

Java 9 – Überblick

Teil 1: Ergänzungen der Sprache und der existierenden APIs

Teil 2: JVM Internals

Teil 3: Neue und alte JDK-Tools

Teil 4: Project Jigsaw aka Java Module System

Teil 5: JDK-interne Packages wie sun.misc.* und ihr Ersatz

Teil 6: Concurrency Updates

Ergänzungen zu jcmd

Seit Java 8 gibt es das Diagnosetool jcmd, mit dem man Informationen über eine laufende JVM bekommen kann. Es befindet sich wie alle Diagnosewerkzeuge im bin Directory des JDK. Viele der Diagnosekommandos, die es schon früher im JDK gab, sind nun unter jcmd zusammengefasst. Zum Beispiel kann man für das Auflisten aller JVMs seit Java 8 das Kommando jcmd anstelle von jps verwenden. Oder man kann seit Java 8 einen Heap Dump mit jcmd <pid> GC.heap_dump <file> anstelle von jmap -dump:live,format=b,file=<file> <pid> ziehen, wie man es traditionell gemacht hat. Mit Java 9 sind weitere Optionen für jcmd dazu gekommen [1], unter anderem VM.log für die Steuerung des JVM Loggings. Ein anderes Beispiel ist das Abfragen von Informationen über den Heap (mit GC.heap_info) oder die Finalizer Queue (mit GC.finalizer_info). Man kann z. B. in Java 9 jcmd <pid> GC.finalizerinfo anstelle von jmap -finalizerinfo <pid> sagen, wie man es noch in Java 8 gemacht hätte. Neu in Java 9 sind auch Optionen für den JIT-Compiler (Compiler.directives_add oder Compiler.queue), die Möglichkeit, JVM Flags zu setzen (mit VM.set_flag) und einiges mehr. Die komplette Liste aller Optionen für jcmd bekommt man über jcmd <pid> help.

Neue Tools: jdeprscan und jshell

Da in Zukunft solche Features wegfallen sollen, die heute bereits als deprecated gekennzeichnet sind, gibt es ein neues Tool jdeprscan, mit dem nach der Verwendung von deprecated-API-Elementen gesucht werden kann. Das jshell-Werkzeug [2] ist ein interaktives Comand-Line-Tool, mit dem man Java-Ausdrücke und -Anweisungen evaluieren kann. Es hat einen Codemodus, in dem man Java-Code eintippen und sofort ausführen kann. Zusätzlich gibt es einen Kommandomodus, in dem man sich z. B. alle Variablen und Methoden anschauen kann, die man explizit oder implizit angelegt hat. Man kann den Quellcode auch abspeichern und ...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang