Einzug der Value Types in 'Valhalla': Brian Goetz startet neues OpenJDK-Projekt

Redaktion JAXenter
© shutterstock.com/LianeM

Nach dem Projekt „Panama„, das John Rose Anfang Juni startete, hat Brian Goetz nun ein neues OpenJDK-Projekt vorgeschlagen: Valhalla. Obwohl der Name eher an einen Ruhetempel für Idole aus der Vergangenheit denken lässt, könnte dieses neue Vorhaben wichtige Innovationen anstoßen. Und zumindest für die Java-Community könnte sich hier auch die eine oder andere Heldentat ereignen: Goetz möchte im Rahmen von Valhalla längst angedachte Erweiterungen der Sprache Java und der Java Virtual Machine angehen. Die entsprechenden Code-Repositories sollen bald zur Verfügung stehen, so der Chief Language Architect bei Oracle.

Value Types im Anmarsch

Ein Teilprojekt von Valhalla werden die klassenähnlichen, zugleich identitätslosen und unveränderbaren (immutable) Werttypen oder Value Types sein, die Goetz schon u.a. in seiner Keynote auf der JAX 2014 als „das nächste große Ziel“ auf der Roadmap für Java bezeichnet hatte. In einem Exposé über die Einführung von Value Types, das Brian Goetz vergangenen April verfasste, werden die Bemühungen diesbezüglich folgendermaßen beschrieben:

The goal of this effort is to explore how small immutable user-defined aggregate types without identity can be surfaced in the language and the JVM instruction set to support memory- and locality-efficient programming idioms without sacrificing encapsulation.

We believe that the design of the Java VM and language can be gently extended with a new kind of type, a value type, which usefully combines the properties of Java’s current classes and primitive types.

Bislang sind die so genannten „Primitives“ ( byte, shortintlongfloatdoublechar und  boolean) die einzigen identitätslosen Datentypen in Java.

Die mit Java 5 eingeführten generischen Typen oder Generics sollen im Rahmen von Valhalla erweitert werden, um primitive Typargumente zu unterstützen, wie Goetz an anderer Stelle ausführt. Bislang sind generische Typen nur durch das so genannte „Boxing“ oder „Verpacken“ mit primitiven Typen kompatibel, was sich negativ auf die Performance auswirkt – insbesondere nach der Einführung von Value Types.

Einen ersten Entwurf des Valhalla-Vorhabens hat Goetz bereits veröffentlicht

Aufmacherbild: „Walhalla“ von shutterstock.com / Urheberrecht: LianeM

Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: