Warum Wird Jni Verwendet?

Das JNI bietet der JVM die Möglichkeit, alle nativen Methoden plattformunabhängig zu verwenden. Die JVM führt Aufrufe an native Methoden aus. Wenn sich die JVM in einer nativen Methode befindet, bietet JNI eine Möglichkeit, die JVM "zurückzurufen". Laden Sie den nativen Methodencode für die zu verwendende VM.

Und wofür wird JNI verwendet?

ist das Java Native Interface. Es definiert eine Möglichkeit für den Bytecode, der aus verwaltetem Code (in den Programmiersprachen Java oder Kotlin geschrieben) kompiliert wird, um mit nativem Code (in C/C++ geschrieben) zu interagieren.

Was ist außerdem JNIEnv * env? : Ist ein Zeiger, der auf einen anderen Zeiger zeigt, der auf eine Funktionstabelle (Zeigerarray) zeigt. Jeder Eintrag in dieser Funktionstabelle verweist auf eine Funktion.

Außerdem ist zu wissen, wie ich ein JNI-Programm ausführe.

  1. Schritt 1: Schreiben Sie eine Java-Klasse, die native Codes verwendet - HelloJNICpp.java.
  2. Schritt 2: Kompilieren Sie das Java-Programm und generieren Sie die C/C++-Header-Datei HelloJNICpp.
  3. Schritt 3: C/C++-Implementierung – HelloJNICppImpl.h, HelloJNICppImpl.cpp und HelloJNICpp.c.
  4. Schritt 4: Führen Sie das Java-Programm aus.

Ist JNI-Thread sicher?

Ja, Sie können beliebig viele native Methoden gleichzeitig ausführen. Es gibt nichts Besonderes an nativen Methoden, die dies verhindern würden. Machen Sie die nativen Methoden -, aber nutzen Sie die Einrichtungen. können Sie beispielsweise die Monitore von Java-Objekten sperren und entsperren.