Java Native Interface

La JNI (Java Native Interface) est une bibliothèque logicielle d'interfaçage, intégrée nativement au JDK de Java, qui permet au code Java s'exécutant à l'intérieur de la JVM d'appeler et d'être appelé[1] par des applications natives (c'est-à-dire des programmes spécifiques au matériel et au système d'exploitation de la plate-forme concernée), ou avec des bibliothèques logicielles basées sur d'autres langages (C, C++, assembleur, etc.).

Voici quelques exemples d'utilisation de JNI :

  • Certaines fonctions du matériel ou du système d'exploitation ne sont pas gérées dans les bibliothèques Java ;
  • Pouvoir s'interfacer avec des applications écrites dans d'autres langages ;
  • Pour les applications temps réel, utiliser un langage compilé (c'est-à-dire du code natif) sera plus rapide que de passer par le bytecode de Java.

Complexité de la programmation

Le ramasse-miettes ne fonctionne pas pour les fonctions JNI[réf. souhaitée], donc le programmeur doit être rigoureux dans sa programmation.

Interfacer JNI est moins complexe avec un langage qui utilise déjà des objets (comme le C++), alors qu'à l'opposé des langages comme le C n'ont pas de concept d'objet et rendent la programmation plus ardue.

Fonctionnement de JNI

Quand la JVM appelle une fonction JNI, elle lui passe en paramètre deux pointeurs Java, le premier sur un objet de type JNIEnv, l'autre sur un objet quelconque.

Voici un exemple type d'appel d'une fonction JNI.

 JNIEXPORT void JNICALL Java_ClassName_MethodName
   (JNIEnv *env, jobject obj)
 {
     //Implement Native Method Here
 }

Le pointeur env est une structure qui contient l'interface vers la JVM. Il inclut toutes les fonctions nécessaires pour interagir avec la JVM et travailler avec les objets Java.

Voici des exemples de fonction JNI : conversion de tableaux Java en tableaux natifs, de chaîne de caractères Java en chaîne de caractères native, instancier des objets, gérer des exceptions.

Correspondance des types

Le tableau suivant donne les principaux exemples de correspondance entre les types Java et les types natif du C.

Type Java Type natif C Description Signature du type
boolean unsigned char booléen (faux=0) Z
byte signed char entier signé sur 8 bits B
char unsigned short entier sans signe sur 16 bits C
short short entier signé sur 16 bits S
int int entier signé sur 32 bits I
long long long
ou __int64
entier signé sur 64 bits J
float float nombre flottant sur 32 bits F
double double nombre flottant sur 64 bits D

Références

Annexes

Voir aussi

Sur les autres projets Wikimedia :

Références externes

Read other articles:

För andra betydelser, se Danmark (olika betydelser). Kongeriget DanmarkKonungariket Danmark Flagga Statsvapen Valspråk: Inget(kungens valspråk) Forbundne, forpligtet, for Kongeriget Danmark 1 Nationalsång: Der er et yndigt land 2Kunglig hymn: Kong Christian stod ved højen mast läge Huvudstad(även största stad) Köpenhamn Officiellt språk Danska 3 Statsskick Parlamentarisk demokrati och konstitutionell monarki  -  Kung Frederik X  -  Statsminister Me...

 

Thouet Le Thouet en aval de Montreuil-Bellay, près de Saumoussay. Cours du Thouet. Caractéristiques Longueur 142,6 km [1] Bassin 3 396 km2 Bassin collecteur Loire Débit moyen 17 m3/s (Montreuil-Bellay) Régime pluvial océanique Cours Source plateau de Gâtines · Localisation Le Beugnon, Deux-Sèvres, France · Altitude 223 m · Coordonnées 46° 36′ 14″ N, 0° 29′ 17″ O Confluence Loire · Localisation Saumur, Maine-et-Loire...

 

Gunung Harta Transport GroupDidirikan1993; 31 tahun lalu (1993)PendiriI Wayan SutikaKantor pusatGHT, Tabanan, BaliGHTS, Malang, Jawa TimurWilayah layananJawa, Madura, BaliJenis layananBus Antarkota dan Bus PariwisataRuang tunggu eksekutifEksekutif, VIP, EkonomiGarasiTabanan, Malang, Jakarta, Bogor, Yogyakarta, SurabayaRute terpendekDenpasar-GilimanukRute terpanjangDenpasar-TangerangJenis bahan bakarSolarOperatorPT Gunung Harta (Tabanan)PT Gunung Harta Transport Solutions (Malang)CEOKadek...

Vous lisez un « bon article » labellisé en 2009. Pour les articles homonymes, voir Zlatibor. Zlatibor Géographie Altitude 1 496 m, Tornik Massif Alpes dinariques Longueur 30 km Largeur 15 km Superficie 350 km2 Administration Pays Serbie District Zlatibor Municipalités Čajetina, Užice, Nova Varoš Géologie Roches Péridotite, serpentine, harzburgite, serpentinite, gabbro modifier  Les monts Zlatibor (en serbe cyrillique Златибoр) sont un ...

 

Evelyn Baring Governatore Generale in EgittoDurata mandato1878 –1879 MonarcaVittoria SuccessoreEdward Baldwin Malet Console Generale d'EgittoDurata mandato11 settembre 1883 –6 maggio 1907 MonarcaVittoriaEdoardo VII PredecessoreEdward Baldwin Malet SuccessoreEldon Gorst Dati generaliSuffisso onorificoConte di Cromer Partito politicoPartito Liberale UniversitàRoyal Military Academy Evelyn Baring, I conte di Cromer (Cromer, 26 febbraio 1841 – Londra, ...

 

Not to be confused with Mohammed Khodabanda (Safavid dynasty). Not to be confused with Oljato. Pādishāh-i Īrānzamīn ÖljaitüMuhammad KhodabandehPādishāh-i Īrānzamīn[1](Padishah of the Land of Iran)Öljaitü and ambassadors from the Yuan dynasty, 1438, Majma' al-TavarikhIlkhanReign9 July 1304 – 16 December 1316Coronation19 July 1304PredecessorGhazanSuccessorAbu Sa'idViceroy of KhorasanReign1296 – 1304PredecessorNirun AqaSuccessorAbu Sa'idBorn(1282-03-24)24 March 1282[...

American intelligence officer (1916–2000) For the father of Kermit Roosevelt Jr., see Kermit Roosevelt. For other people named Kermit Roosevelt, see Kermit Roosevelt (disambiguation). Kermit Roosevelt Jr.Born(1916-02-16)February 16, 1916Buenos Aires, ArgentinaDiedJune 8, 2000(2000-06-08) (aged 84)Cockeysville, Maryland, U.S.Alma materHarvard UniversitySpouse Mary Lowe Gaddis ​(m. 1937)​Children4; including MarkParentKermit Roosevelt (father)Espionage ...

 

Hwang Kyo-ahn황교안 Presiden Korea SelatanPelaksana TugasMasa jabatan9 Desember 2016 – 10 Mei 2017*PendahuluPark Geun-hyePenggantiMoon Jae-inPerdana Menteri Korea Selatan ke-44Masa jabatan18 Juni 2015 – 11 Mei 2017PresidenPark Geun-hyeDirinya sendiri (Pelaksana tugas)Moon Jae-inPendahuluChoi Kyoung-hwan (Pelaksana tugas)PenggantiYoo Il-ho (Pelaksana tugas)Menteri KehakimanMasa jabatan11 Maret 2013 – 18 Juni 2015PendahuluGwon Jae-jinPenggantiKim Ju-hyeon (Pe...

 

Kuda Equus ferus caballus TaksonomiKerajaanAnimaliaFilumChordataKelasMammaliaOrdoPerissodactylaFamiliEquidaeGenusEquusSpesiesEquus ferusSubspesiesEquus ferus caballus Linnaeus, 1758 Tata namaSinonim taksonEquus caballus ProtonimEquus caballus lbs Kuda Juga digunakan untuk olahraga Kuda, jaran[1], atau aswa[2] (Equus caballus atau us ferus caballus) adalah mamalia berkuku ganjil yang telah didomestikasi, berjari satu . Ia tergolong dalam keluarga taksonomi Equidae dan merupakan...

Malaysian politician and lawyer In this Malay name, there is no surname or family name. The name Othman Said is a patronymic, and the person should be referred to by their given name, Azalina. The word bin or binti/binte means 'son of' or 'daughter of', respectively. Yang Berhormat Dato' SriAzalina Othman SaidSSAP SPMP PGDK DPMS DGMK MPأزلينا عثمان سعيد‎Azalina Othman Said in 2023Minister in the Prime Minister's Department (Parliamentary Affairs: 29 July 2015–10 May 201...

 

Artikel ini perlu dikembangkan agar dapat memenuhi kriteria sebagai entri Wikipedia.Bantulah untuk mengembangkan artikel ini. Jika tidak dikembangkan, artikel ini akan dihapus. Artikel ini tidak memiliki referensi atau sumber tepercaya sehingga isinya tidak bisa dipastikan. Tolong bantu perbaiki artikel ini dengan menambahkan referensi yang layak. Tulisan tanpa sumber dapat dipertanyakan dan dihapus sewaktu-waktu.Cari sumber: Lambang Kuwait – berita · surat kabar �...

 

Северный морской котик Самец Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:Синапси...

此條目需要补充更多来源。 (2021年7月4日)请协助補充多方面可靠来源以改善这篇条目,无法查证的内容可能會因為异议提出而被移除。致使用者:请搜索一下条目的标题(来源搜索:美国众议院 — 网页、新闻、书籍、学术、图像),以检查网络上是否存在该主题的更多可靠来源(判定指引)。 美國眾議院 United States House of Representatives第118届美国国会众议院徽章 众议院旗...

 

إسبانيول الاسم الكامل نادي إسبانيول برشلونة الملكي الرياضي تأسس عام 1900 (منذ 124 سنة) الملعب ملعب كورنيا إل برات البلد إسبانيا  الدوري الدوري الإسباني الدرجة الثانية[1]  الإدارة المالك مجموعة راستار المدرب لويس ميغيل راميس الموقع الرسمي www.rcdespanyol.com بعض التاريخ اللاع...

 

Government of the United Kingdom Second Peel ministry1841–1846Peel by Robert Richard ScanlanDate formed30 August 1841 (1841-08-30)Date dissolved29 June 1846 (1846-06-29)People and organisationsMonarchQueen VictoriaPrime MinisterSir Robert PeelMember partiesConservative PartyOpposition partyWhigsOpposition leadersLord John Russellin the House of CommonsThe Viscount Melbourne(1841–1842)The Marquess of Lansdowne(1842–1846)in the House of LordsHistoryElection(s...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Space They Cannot Touch – news · newspapers · books · scholar · JSTOR (May 2023) (Learn how and when to remove this message) 2008 single by Kate Miller-HeidkeSpace They Cannot TouchSingle by Kate Miller-Heidkefrom the album Little Eve A-sideSpace They Cannot To...

 

Инклюзи́вное образова́ние (англ. inclusion — включение, включающее образование, совместное обучение) — форма обучения, при которой каждому человеку, независимо от имеющихся физических, социальных, эмоциональных, ментальных, языковых, интеллектуальных и других особ�...

 

Military vehicle designed for combat Fire support vehicle redirects here. For the U.S. Army's Stryker fire support vehicle, see M1131 fire support vehicle. Ground combat vehicle redirects here. For the U.S. Army's combat vehicle program, see Ground Combat Vehicle. Fighting machine redirects here. For the fictional H. G. Wells machine, see Fighting machine (The War of the Worlds). An RG-31 Nyala MRAP and a Véhicule de l'Avant Blindé armoured personnel carrier A ground combat vehicle, also kn...

German literary and cultural movement, whose practitioners established a new humanism This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Weimar Classicism – news · newspapers · books · scholar · JSTOR (February 2017) (Learn how and when to remove this message) Weimar ClassicismWeimar's Courtyard of the Muses (1...

 

Questa voce o sezione sull'argomento centri abitati della Germania non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Oberhofcittà Oberhof – Veduta LocalizzazioneStato Germania Land Turingia DistrettoNon presente CircondarioSmalcalda-Meiningen TerritorioCoordinate50°42′19″N 10°43′33″E50°42′19″N, 10°43′33″E (Oberhof) Altitu...