JDK: Oracle will "Schmerzen" von Java beheben
Ein neues Projekt soll die Startzeit, die langsame Leistungssteigerung und den Speicherverbrauch von Java verbessern.

Der bei Oracle als Chefarchitekt für Java angestellte Mark Reinhold hat auf einer Mailingliste der Entwickler eine neue Idee vorgestellt, "deren Hauptziel es sein wird, die langjährigen Schmerzen von Java anzugehen". Dies sind laut Reinhold die lange Zeit zum Start der Sprachumgebung, der langsame Aufbau bis zum Erreichen der vollen Leistungsfähigkeit sowie die große Ressourcennutzung. Erreicht werden soll dies mit statischen Images.
Diese statischen Images sollen dem Plan zufolge Teile der Java Platform sowie des JDK werden. Bei diesen Abbildern handele es sich um ein eigenständiges Programm, das von einer üblichen Java-Anwendung abgeleitet werden kann und ausschließlich diese eine Anwendung ausführt. Das statische Abbild sei eine "abgeschlossene Welt". Es könne keine Klassen außerhalb des eigenen Images nachladen und auch keinen neuen Bytecode zur Laufzeit ausführen.
Diese Einschränkungen führen laut Reinhold dazu, dass zum Erstellungszeitpunkt viele Analysen durchgeführt werden können. So können etwa ungenutzte Klassen entfernt werden. Ebenso lasse sich damit ein "aggressives" Ahead-of-Time-Kompilieren (AOT) umsetzen, was die Leistung steigern soll. Bisher wird Java üblicherweise als Bytecode auf einer VM ausgeführt. Ein AOT-Compiler könnte jedoch viel nativen Code direkt erzeugen.
Reinhold schränkt in seiner E-Mail aber auch ein, dass die Nutzung der geplanten statischen Images nicht für jede Art Anwendung gedacht sei. Das liege unter anderem daran, dass diese oft manuell konfiguriert werden müssten. Das Team bei Oracle glaube aber, das lohne sich dennoch in bestimmten Szenarien, etwa auf Embedded-Geräten oder auch in der Cloud.
Die Idee basiert auf der Native-Image-Funktion der GraalVM. Das Team plant aber, die Neuerung in die Plattform-Spezifikation einzubringen, so dass Nutzer mit ihren Images künftig zwischen GraalVM und JDK wechseln können sollen. Um die Technik im JDK umzusetzen, will das Team von Reinhold auf bereits bestehende Java-Techniken zurückgreifen, wie die Hotspot JVM, den AOT-Compiler Jaotc oder auch das Werkzeug Jlink.
Zu einer möglichen Veröffentlichung schreibt Reinhold darüber hinaus, dass dies wohl über eine Reihe von verschiedenen Java-Erweiterungen umgesetzt werden soll statt über große, zusammenhängen Änderungen. Darüber hinaus wird dies wohl auch über mehrere der kommenden Java-Versionen verteilt.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Naja, es gibt da schon Annotation und entsprechend Tools... full ack Das Feature ist auf...
mit seiner seltsamen Lizenzpolitik. Früher war Java einfach vorinstalliert und alles war...
Stimmt. Wobei die STLs untereinander nicht kompatibel sind, obwohl STL genau dafür...
Du wirst lachen, aber exakt das wird in so manchem realen System schon getan. Allerdings...