So funktioniert das Java Native Interface

Primitive Typen wie Integer, Character und so weiter werden einfach zwischen Java und dem nativen Code kopiert. Eigene Java-Objekte andererseits werden als Referenz übergeben.

Die Tabelle A zeigt die Zuordnung von Datentypen zwischen Java und nativem Code. Die Typen sind austauschbar. Man kann also jint verwenden, wo man normalerweise int benutzen würde und umgekehrt, ohne dass dazu ein Typecasting erforderlich wäre.


Tabelle A

Nur die Zuordnung zwischen Java-Strings und -Arrays zu nativen Strings und Arrays funktioniert anders. Falls man einen jstring verwendet, wo eigentlich ein char * sein sollte, könnte der Code die JVM zum Absturz bringen. Hier ein Beispiel, wie man korrekterweise mit Strings umgehen sollte:

Java-Objekte werden ausschließlich mit dem Interfacepointer env manipuliert.

Fazit

Es ist nicht besonders leicht, das JNI in einer eigenen Anwendung zu implementieren. Allerdings sprechen dessen Performance sowie die Fähigkeit, vorhandenen Code weiter zu verwenden und die Java-Anwendung um zusätzliche Funktionen zu erweitern, dafür, sich dieser Herausforderung zu stellen. Weitere Einzelheiten findet man auf der JNI-Homepage.

Page: 1 2 3

ZDNet.de Redaktion

Recent Posts

Digitale Produkte „cyberfit“ machen

Vernetzte Produkte müssen laut Cyber Resilience Act über Möglichkeiten zur Datenverschlüsselung und Zugangsverwaltung verfügen.

2 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Das jüngste Update für Windows, macOS und Linux stopft drei Löcher. Eine Anfälligkeit setzt Nutzer…

2 Tagen ago

Apple schließt Zero-Day-Lücken in iOS, iPadOS und macOS

Zwei von Google-Mitarbeitern entdeckte Schwachstellen werden bereits aktiv gegen Mac-Systeme mit Intel-Prozessoren eingesetzt. Sie erlauben…

3 Tagen ago

Gefährliche Anzeigen für Passwortmanager Bitwarden verbreiten Malware

Die Hintermänner haben es unter anderem auf Daten von Facebook-Geschäftskonten abgesehen. Opfer werden über angebliche…

3 Tagen ago

Public Cloud: Gartner erwartet 2025 weltweite Ausgaben von 723 Milliarden Dollar

Bis 2027 werden 90 Prozent der Unternehmen eine Hybrid-Cloud-Strategie umsetzen.

3 Tagen ago

iPhone 15 ist bestverkauftes Smartphone im dritten Quartal

Apple belegt in der Statistik von Counterpoint die ersten drei Plätze. Samsungs Galaxy S24 schafft…

4 Tagen ago