Weiter zum Inhalt

{ Kategorie Archiv } 19. Java Native Interface

19.01 Anbindung an native Programme

Java ist eine plattformunabhängige Programmiersprache, weshalb Sie in ihr nicht system- und/oder hardwarenah programmieren können. Dennoch ist es manchmal hilfreich, einen Zugriff auf die Systemressourcen zu erhalten. Z. B. wenn Sie ein plattformabhängiges Programm in Kauf nehmen können, aber Java Ihnen mehr als alle anderen (nativen) Sprachen liegt. Oder wenn das Programm prinzipiell plattformunabhängig gestaltet [...]

19.02 Hello (JNI) World

Nachdem Sie nun wissen, was JNI ist und für was Sie es alles einsetzen können, programmieren Sie heute ein erstes HelloWorld-Programm mit JNI. Dabei ruft Ihr Java-Programm eine selbst geschriebene C-Bibliothek auf, welche ein einfaches Hello World auf der Konsole ausgibt.

19.03 JNI Parameterübergabe

Nachdem Sie bereits ein einfaches JNI Beispiel erstellt und erfolgreich ausgeführt haben, steigen wir in diesem Kapitel ein wenig tiefer in die Materie ein. Wir beschäftigen uns mit Übergabeparameter von Java an eine native Bibliothek und dem Rückgabewert der nativen Bibliothek an Java.

19.04. Zugriff von C nach Java

Mit JNI können Sie nicht nur nativen Code in Java ausführen, es ist auch der umgekehrte Weg möglich: Sie können in einer nativen Bibliothek Methoden von Klassen und Objekten aufrufen und Attribute auslesen oder setzen.

19.05 Exceptions mit JNI

Ein weiteres, wichtiges Element in der JNI Programmierung ist die Fehlerbehandlung. Sie haben die Möglichkeit Fehlermeldungen, die der Java-Teil geworfen hat, in Ihrer JNI-Bibliothek auszulesen, aber auch direkt im nativen Teil Ihrer Anwendung Fehlermeldungen zu werfen, die dann der Java-Teil abfangen kann/muss. In diesem Kapitel werden Sie eine Java Exception in C abfragen und ausgeben [...]

19.06 Laufende Prozesse ermitteln/beenden

In diesem Teil der Kapitel-Serie JNI für Windows bekommen Sie eine Möglichkeit gezeigt, wie Sie mit JNI auf einem Windows-Betriebssystem alle laufenden Prozesse auslesen und ggf. auch beenden können.