Als «java-native-interface» getaggte Fragen

Die Java Native Interface (JNI) bietet sowohl die Möglichkeit für JVM-Implementierungen, systemeigenen Systemcode auszuführen, als auch die Möglichkeit für nativen Code, Java-Code auszuführen (durch Erstellen neuer JVM-Instanzen). Die gebräuchlichsten Zielsprachen für JNI sind C und C ++, für die mindestens die Sun / Oracle JDK-Implementierungen Hilfsbefehle bereitstellen (javap - für die Code-Disassemblierung, javah für die C-Code-Generierung).



1
Sollten Sie ReleaseStringUTFChars aufrufen, wenn GetStringUTFChars eine Kopie zurückgegeben hat?
Das Buch "Essential JNI: Java Native Interface" von Rob Gordon enthält das folgende Codebeispiel zum Konvertieren eines Jstrings in einen C-String: const char* utf_string; jboolean isCopy; utf_string = env->GetStringUTFChars(str, &isCopy); /* ... use string ... */ if (isCopy == JNI_TRUE) { env->ReleaseStringUTFChars(str, utf_string); } Beachten Sie, dass nur aufgerufen wird, …



11
Wie kann man jni.h finden?
In Ubuntu 12.04 habe ich jdk7 von sun / oracle installiert. Wenn locate jni.hgedruckt, werden mehrere Speicherorte gedruckt /usr/lib/jvm/java-6-openjdk-amd64/include/jni.h /usr/lib/jvm/jdk1.7.0_07/include/jni.h ... In der von JDK generierten Header-Datei gibt es include <jni.h>und derzeit beschwert es sich fatal error: jni.h: No such file or directory. In meinem Makefilegibt es keine Angabe von …

4
Zu geringe CPU-Auslastung von Multithread-Java-Anwendungen unter Windows
Ich arbeite an einer Java-Anwendung zur Lösung einer Klasse numerischer Optimierungsprobleme - genauer gesagt bei großen linearen Programmierproblemen. Ein einzelnes Problem kann in kleinere Teilprobleme aufgeteilt werden, die parallel gelöst werden können. Da es mehr Unterprobleme als CPU-Kerne gibt, verwende ich einen ExecutorService und definiere jedes Unterproblem als Callable, das …
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.