JNI JNA JNR - eure Erfahrungen, Empfehlungen?

White_Fox

Top Contributor
Moin allerseits

Ich werde mich wohl mal damit befassen müssen, nicht-Javacode einzubinden und wollte mal nach euren Erfahrungen mit den verschiedenen Werkzeugen dazu fragen. Was verwendet ihr am liebsten? Was nicht? Warum?
 

KonradN

Super-Moderator
Mitarbeiter
Ich sehe da weniger den Punkt "Was liebe ich mehr" sondern mehr eine Frage, wann nutze ich was?

JNI: Das wird halt von mir verwendet, wenn ich eigenen C / C++ Code habe und diesen einbinden muss in meine Java Anwendung. Das bringt halt einiges mit sich und ich empfand es als relativ umfangreich, was da so notwendig ist. (War aber durchaus geradlinig. Das Makefile mit den notwendigen Schritten war schnell aufgesetzt und auch der Bau des jar Files für die Java Seite liess sich schnell und einfach abbilden. War aber bei uns auf der C/C++ Seite ein Makefile und nichts moderners wie cmake oder so)
Ziel ist hier halt: Du hast Java und native Code als eine Basis und dann am Ende in einem JAR File zusammen. Sprich: Ich hatte ein C/C++ Projekt. Und das hatte dann noch einen kleinen Part mit javah Aufruf (Ab Java 9 "javac -h" aber war bei mir noch java 8) und so und dann hatte das Makefile nicht nur eine Library geliefert sondern auch noch gleich eine jar, die alles beinhaltet hat. Auch noch etwas code drumherum, so dass die Native Library aus dem jar extrahiert wurde um dann geladen zu werden und so ..

JNA: Das dient halt dazu, auf vorhandene Methoden zuzugreifen. Das kenne ich in erster Linie für die Zugriffe auf die Windows API. Hier hast Du aber halt wirklich zwei getrennte Dinge: Deine Anwendung und das, wovon Du abhängst (Also z.B. die Windows API oder so - gerade zusammen mit jna-platform). Nimmt sehr viel Aufwand und macht einem das Leben einfacher. Aber ich sehe hier halt auch die klare Trennung. Jemand stellt etwas bereit und der interessiert sich für Deine Java Ansprüche nicht.

JNR: Das ist ein interessanter Ansatz. Habe ich selbst noch nicht genutzt, daher kann ich da nicht viel zu schreiben. Was ich so gesehen habe, sieht durchaus interessant aus. Aber bisher hatte ich nur den JNI oder dann den (indirekten) JNA Ansatz.
 

Oneixee5

Top Contributor
nicht-Javacode einzubinden
Das ist sehr allgemein. Wenn ich "nicht-Javacode" interpretieren sollte, dann würde ich annehmen, dass der Quellcode einer beliebigen Sprache vorhanden ist. Sollte es wirklich notwendig sein, würde ich sicher bei GraalVM schauen. Welche Optionen mir da offen stehen. Man könnte LLVM-Bitcode erzeugen und diesen direkt einbinden. Oder auch Wasm erzeugen und einbinden. Es gibt aber noch mehr mehr Möglichkeiten (Python, JS, Ruby, etc.) - GraalVM ist polyglot und bietet eine Reihe von Möglichkeiten.
Falls es wirklich nur um etwas C/C++ -Code geht oder eine Schnittstelle zu OS-Funktionen, dann würde ich mich @KonradN anschließen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
J Java "Bank Programm" Brauche eure Hilfe Allgemeine Java-Themen 3
S Primzahl || Primfaktorzerlegung -> Eure Laufzeiten *Wen es halt interessiert* Allgemeine Java-Themen 10
R Welche waren eure ersten Projekte? Allgemeine Java-Themen 10
J Eure Meinung: Threads verwenden, oder nicht? Allgemeine Java-Themen 6
E Eure erstellten Programme Allgemeine Java-Themen 3
André Uhres Welches Werzkeug benutzt ihr um eure Mails zu lesen? Allgemeine Java-Themen 47
J Eure Wunschliste für Java 7? Allgemeine Java-Themen 114
F (Wie) sortiert ihr eure Felder, Methoden, etc? Allgemeine Java-Themen 19
J Eure Meinung - Das JMF (Java Media Framework) Allgemeine Java-Themen 3
K Design: Klassen in Pakete aufteilen - Eure Meinung Allgemeine Java-Themen 8
L Softwarepatente - Eure Meinung Allgemeine Java-Themen 4
NoahPillich Navigations-App und Wegfindung selber programmieren - Erfahrungen, Ideen, Anregungen Allgemeine Java-Themen 6
E Erfahrungen mit Java/JS Bridge unter nodejs und NodeJS/C++ Bridge Allgemeine Java-Themen 0
M Input/Output Java + OCR ? Erfahrungen und bitte um Hilfe Allgemeine Java-Themen 12
P jGNUPlot - Erfahrungen? Allgemeine Java-Themen 7
F java prog als windows-dienst. Erfahrungen? Allgemeine Java-Themen 2
Landei Erfahrungen mit JavaConfig oder Apache Commons Config? Allgemeine Java-Themen 3
J XStream - Erfahrungen mit eingeschraenkten Umgebungen? Allgemeine Java-Themen 6
B Erfahrungen mit JControl Allgemeine Java-Themen 5
G Erfahrungen mit der Klasse "JavaCompiler" (Java 6) Allgemeine Java-Themen 13
Landei Erfahrungen mit Synth Look & Feel? Allgemeine Java-Themen 4
S Sun Zertifizierungen, wer hat Erfahrungen damit? Allgemeine Java-Themen 28
B HTMLEditorKit / HTMLDocument - Erfahrungen & Howto ?? Allgemeine Java-Themen 3
Zrebna Bitte um Empfehlungen für "zeitlose" Bücher bzgl. Backend mit Spring und Beans Allgemeine Java-Themen 25
X Java Log Reader empfehlungen? Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben