Oh, wie schön ist Panama! – Neues OpenJDK-Projekt vorgeschlagen

Hartmut Schlosser
©Shutterstock/ Filipe Frazao

Oh, wie schön ist Panama!, können nun nicht nur Freunde gepflegter Kinderbuchliteratur sagen, sondern auch Java-Entwickler: John Rose hat das neue OpenJDK-Projekt „Panama“ vorgeschlagen, mit dem Verbindungen zwischen der Java Virtual Machine und Nicht-Java-APIs hergestellt werden sollen.

Im Hintergrund stehen aktuelle Diskussionen darüber, wie auf native Art und Weise Codeteile, die von der JVM gemanaged werden, mit JVM-fremden Librarys kombiniert werden können. Beispielsweise sollen Java-Entwickler von Interfaces, die typischerweise von C-Programmierern genutzt werden, Gebrauch machen können. 

JRuby-Chefentwickler Charles Nutter hatte dazu den Verbesserungsvorschlag JEP 191 initiiert, der darauf abzielt, ein dem JNA oder JNR vergleichbares „Foreign Function Interface“ bereitzustellen, mit dem native Funktionen, wie sie etwa in Betriebssystem-Kernels verwendet werden, an Java-Methoden gebunden werden können. Dabei soll es auch möglich werden, native Memory-Blöcke direkt zu verwalten. Auch ähnliche Bestrebungen von David Chase im Projekt Sumatra, von Gil Tene (Object Layout) und von Marcel Mitran (IBM Java PackedObjects) laufen darauf hinaus, Zugriff auf native Datenformate zu erhalten.

In Projekt Panama sollen nun die Arbeiten an diesen Baustellen zusammenlaufen. John Rose beschreibt die Ziele wie folgt:

  • native code and data access between the JVM and native APIs
  • tooling for header file API extraction and API metadata storage
  • wrapper interposition for specialized safety invariants and value transformations
  • basic bindings for selected native APIs

Der initiale Source-Code soll auf einem geklonten JDK-9-Repository basieren, vor allen sind die hotspot, langtools und jdk Unter-Repositories betroffen. Die terminliche Zielsetzung ist damit also auch klar: Sollten sich die Arbeiten hier erfolgreich weiterentwickeln, dürften sie in das nächste JDK-9-Release einfließen.

Wer sich über Projekt Panama auf dem Laufenden halten will – oder gar sich aktiv daran beteiligen, kann sich auf eine der beiden Mailing-Listen setzen:

  • panama-dev (für Entwickler)
  • panama-spec-experts (für Details der Spezifikation)

Als Projektleiter wird John Rose und als Sponsoring Group die HotSpot-Gruppe vorgeschlagen. Über die Schaffung des Projektes stimmen die OpenJDK-Mitglieder bis zum 18. Juni ab. Mehr zu den Ideen hinter Panama gibt es in John Roses Blogeintrag: the isthmus in the VM und in Charles Nutters Video vom JVM Language Summit:

Aufmacherbild: Panama wooden sign with a beach on background von Shutterstock / Urheberrecht: Filipe Frazao

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Content-Stratege, IT-Redakteur, Storyteller – als Online-Teamlead bei S&S Media ist Hartmut Schlosser immer auf der Suche nach der Geschichte hinter der News. SEO und KPIs isst er zum Frühstück. Satt machen ihn kreative Aktionen, die den Leser bewegen. @hschlosser
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Oh, wie schön ist Panama! – Neues OpenJDK-Projekt vorgeschlagen"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Boereck
Gast
Hoffentlich kommt das Projekt schnell in die Hufe. Derzeit ist die Situation der Java Native-Unterstützung wirklich zum jammern. JNI ist einfach schrecklich zu benutzen. Der Programmierer muss sich um C Glue Code kümmern und ihn selbst für alle Plattformen kompilieren. JNA ist einfach sehr langsam. Wenn man eine Anwendung mal profiled, kann man sehen wie viel Zeit in JNA Code verbraten wird (vor allem in com.sun.jna.Function.isVarArgs(Method)). Gerade wenn man aus Performance-Gründen eine Native Bibliothek anbinden muss, ist JNA also nicht die erste Wahl. JNR ist praktisch undokumentiert (oder ich finde einfach nichts außer Videos und Folien von Charles Nutter, wie… Read more »