Einblick in OpenJDK – Inside Java 7

Tiefer graben

Neben diesen allgemeinen Informationen über den Hintergrund und die bisherige Entwicklung von OpenJDK findet man auf den Websites auf der OpenJDK Homepage weitere Informationen, unter anderem zur OpenJDK Community, zu Gruppen, Projekten usw. Diese Informationen sind hilfreich, um bei OpenJDK den Überblick zu behalten, und spiegeln auch die aktuelle Entwicklung wider. Im Folgenden werden weiterführende Informationen über die oben genannten Bereiche des OpenJDK-Projekts gegeben.

OpenJDK Community

Die OpenJDK Community besteht aus den Entwicklern, die am OpenJDK-Projekt arbeiten, also sowohl externe als auch Suns eigene Mitarbeiter. Für externe Entwickler bietet die OpenJDK Community auf verschiedenen Websites weiterführende Informationen. Leader der OpenJDK Community ist Ray Gans. Als übergreifende Instanz gibt es noch ein Governance Board, das aus vier Personen besteht und von Sun etabliert wurde. In diesem Board sitzen zwei Vertreter von Sun und zwei Vertreter aus der Community. Dieses Board hat allerdings wenig Einfluss auf den Community-Prozess und sollte auch nur so lange existieren, bis die OpenJDK Charta unterschrieben wurde. Danach sollte dieses Board – nach Auskunft von Onno Kluyt – zurücktreten und sich zur Wiederwahl stellen. Da in diesem Board außer Sun und den beiden externen Vertretern keine weiteren namhaften Vertreter aus der Industrie sitzen, stellt sich sowieso die Frage nach dem Sinn dieses Boards. Wenn OpenJDK überwiegend durch die Community getrieben werden soll, ist eine solche Instanz überflüssig. Wenn man ein neues API für die Aufnahme in OpenJDK vorschlägt, dann wird man zunächst von einem Sun Engineer dazu aufgefordert, ein Project Proposal über die jeweilige Mailingliste an die Mitglieder der Community zu schicken. Wenn die Mehrheit der Mitglieder dann der Aufnahme zustimmt oder aktive Unterstützung für diese API anbietet, hat man gute Chancen auf eine Aufnahme des API.

Hotspot Compiler

Der neue OpenJDK Compiler ist eine komplett neue Entwicklung des Java Compilers. Vom bisherigen Java Compiler unterscheidet er sich durch folgende neue Features:

  • komplett in Java geschrieben
  • straffes objektorientiertes Design
  • Compiler API
  • separater DocComment Scanner
  • To-do-Liste
  • erweiterbar über Phasen bzw. Kontexte.

Als interessante Neuerung ist hier die Möglichkeit zu erwähnen, den Compiler über Contexte bzw. Phasen zu erweitern. Praktisch bedeutet das, dass es in dem Compiler eine Klasse Phase gibt, die eine Methode instance() bereitstellt, von der man seine eigene Klasse ableiten muss. Die anderen Komponenten des Compilers wie Scanner, Lexer, Parser usw. sind überwiegend als Factories implementiert und stellen verschiedene Methoden zur Verfügung. Der Compiler enthält auch ein Compiler API, das als gemeinsame Schnittstelle für alle Entwickler dienen soll. Zum OpenJDK Compiler gibt es noch das Kitchen-Sink-Projekt, über das externe Entwickler Vorschläge und Erweiterungen zu Sprach-Features von Java machen können. Alle über das Kitchen-Sink-Projekt eingebrachten Vorschläge gelten als „experimentell“.

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.