www.wikidata.de-de.nina.az
Java Native Interface JNI ist eine standardisierte Anwendungsprogrammierschnittstelle API die die Moglichkeit schafft aus der Programmiersprache Java heraus Plattform spezifische Funktionen bzw Methoden aufzurufen Im Gegensatz zu gewohnlichen Java Programmen ist ein Java Programm das JNI Aufrufe verwendet nur dann plattformunabhangig wenn die native Programmbibliothek auf allen Plattformen verfugbar ist Inhaltsverzeichnis 1 Einsatzzweck 1 1 Java ruft native Methode auf 1 2 Natives Programm ruft Java auf 2 Siehe auch 3 WeblinksEinsatzzweck BearbeitenJNI ermoglicht es native Methoden zu schreiben fur Situationen in denen es nicht moglich ist ausschliesslich Java als Programmiersprache einzusetzen Dies ist der Fall wenn beispielsweise die Standard Java Klassenbibliothek bestimmte Plattform abhangige Features oder andere Programmbibliotheken nicht unterstutzt Weiterhin ist es per JNI moglich eine weitere in einer anderen Programmiersprache programmierte Anwendung fur Java zugreifbar zu machen Viele Klassen der Java Standardbibliothek basieren auf JNI um beispielsweise die Datei Ein und Ausgabe oder Soundwiedergabe zu ermoglichen Indem Java Leistungs und Plattform abhangige Implementierungen in die Standardbibliothek integriert kann der Java Programmierer und Nutzer diese Features in sicherer und Plattform unabhangiger Weise nutzen Gelegentlich wird JNI als Fluchttur escape hatch fur Java Entwickler bezeichnet da es ihnen den Zugriff auf Funktionalitaten ermoglicht der andernfalls uber die Standard Java API nicht moglich ware Es stellt die Schnittstelle zu anderen Programmiersprachen wie C oder C dar Mit JNI ist es moglich Funktionen einer Windows DLL oder einer shared library unter Linux bzw Mac OS X die in C oder C programmiert sind aus Java aufzurufen Umgekehrt konnen native Programme Java Methoden uber JNI aufrufen oder eine JVM ausfuhren Java ruft native Methode auf Bearbeiten Um aus Java eine native Methode aufzurufen muss diese zunachst als native deklariert werden Zudem muss das Objekt selbst die native Programmbibliothek mit dem Aufruf von System loadLibrary i lt Name der Bibliothek gt i laden bevor die native Methode selbst aufgerufen werden kann Das Java Programm wird ubersetzt und anschliessend mit dem Softwarewerkzeug javah eine Header Datei erstellt die die Funktionsdeklaration vorgibt Mit dieser Header Datei kann dann die native Programmbibliothek erstellt werden In der nativen Programmbibliothek mussen spezielle Typen fur primitive und komplexe Datentypen verwendet werden Beispielsweise wird fur ein Wahrheitswert jboolean verwendet anstatt der Typ boolean und jdouble fur Variablen vom Typ double Ausser den Abbildungen fur primitive Typen existieren auch Abbildungen fur komplexe Typen Zu den primitiven und komplexen Typen zahlen folgende nbsp JNI Primitive Typen nbsp JNI Komplexe Typen Eine der popularsten Anwendungen von JNI ist die Programmbibliothek Standard Widget Toolkit SWT die uber JNI die Verwendung von Elementen der Grafischen Benutzeroberflache des Betriebssystems ermoglicht Natives Programm ruft Java auf Bearbeiten Aus einem nativen Programm kann Java Code aufgerufen werden Dies ist beispielsweise notwendig um eine enge Verzahnung zwischen Java und dem nativen Programm zu ermoglichen Siehe auch BearbeitenJava Native Access JNA Alternative zu JNIWeblinks BearbeitenJava Native Interface offizielle Dokumentation bei Oracle Projektseite des JavaService Compiled Native Interface CNI Alternative zu JNI siehe auch GNU Compiler for Java in der englischsprachigen Wikipedia NativeCall Alternative um native Methoden ohne JNI aus Java aufzurufen JNI Typen Abgerufen von https de wikipedia org w index php title Java Native Interface amp oldid 219812102