Darba sākšana ar Java vietējo saskarni (JNI)

Getting Started With Java Native Interface



Java vietējā saskarne, saīsināti JNI, ir programmēšanas saskarne, kas ļauj Java izstrādātājiem palaist kodus un fragmentus no citām Java programmēšanas valodām. Tas ir kopā ar būtisko Java programmatūras izstrādes komplektu vai SDK (mēs to aplūkosim citā apmācībā).

JNI tiek cienīts arī tāpēc, ka tā sauc API, lai Java lietojumprogrammās ielīst Java virtuālajā mašīnā. Tas ļauj izstrādātājiem izsaukt java kodu vietējās lietojumprogrammas kodā.







Ja kādu laiku esat strādājis ar java, iespējams, jau esat saskāries ar daudzām veiktspējas problēmām, kas neizbēgami rodas. Tā nav problēma, ja palaižat to pašu kodu dzimtajā valodā, kas var darboties vairāk nekā astoņpadsmit reizes ātrāk, lasot apkopotā modelī. Papildus tam varat izmantot arī novecojušas/nesaderīgas aparatūras darbības ar vietējiem kodiem citās valodās.



Šī apmācība parādīs, kā mašīnas C/C ++ kodu var izsaukt no Java programmas.



Priekšnosacījumi

Lai pareizi izpildītu šo rokasgrāmatu, jums būs nepieciešamas dažas lietas. Tie ietver Java kompilatoru vai Javac.exe kopā ar JVM, kā arī vietējās metodes C ģeneratoru (javah.exe). Visi šie trīs ir iebūvēti programmatūras izstrādes komplektā, tāpēc jums viss ir labi, ja jums tas ir. Papildus šiem trim jums būs nepieciešami arī faili, kas definē JNI, ieskaitot vietējos galvenes failus un pilnus bibliotēkas failus.





Un, protams, apmācībā par C un C ++ kodu palaišanu mēs izmantosim arī C kompilatoru, lai izveidotu koplietojamu bibliotēku.

JNI komponenti

JNI pamatā ir divi komponenti, proti, h un javah. H ir galvenes faila komponents, kas aizstāj vietējos kodus ar java kodu, turpretī Javah to padara tā, lai šo failu varētu pats ielādēt lietotnes galvenes failos.



C/C ++ izsaukšana no Java koda

1. darbība: koda rakstīšana Java

Kods vispirms tiek rakstīts java un atbilst trim nosacījumiem. Pirmkārt, tas ir rakstīts ar vietējo metodi, lai to izmantotu vēlāk. Otrkārt, tai ir jāielādē koplietotā bibliotēka, kuras daļa ir vietējais kods, un, visbeidzot, tai ir jāizsauc vietējās metodes.

Izmantosim šo kodu, lai ilustrētu tālāk:

Paziņojuma 3. un 6. rindiņa; šīs ir līnijas, kurās ir iekļautas vietējās metodes. Kods, kas ielādē koplietotās bibliotēkas, atrodas 10. rindā, tāpēc metode tiek izsaukta no 12. līdz 15. rindai.

2. solis: Java koda apkopošana uz baitu kodu

Otrais solis ir saistīts ar java koda apkopošanu. Javac kompilators šeit var paveikt darbu mūsu vietā; vienkārši izdodiet zemāk esošo komandu:

$ javac 1. piemērs.java

3. darbība: izveidojiet C/C ++ galvenes failus

Tālāk ir jāizveido galvenās dzimtenes valodas faili. Šie galvenes faili nodrošina vietējo kodu parakstus.

Šos galvenes failus var izveidot, izmantojot javah vietējo rīku - C nepilnību ģeneratoru, kas komplektā ar SDK, izmantojot šādu komandu:

javah 1. piemērs

Ir jāatgriež šāda izvade:

4. darbība. Vietējā koda rakstīšana

Šeit mēs rakstīsim C/C ++ kodu. Jums vajadzētu ņemt vērā visus parakstus, kuriem ir jāatbilst deklarācijām, kuras mēs veicām 1. darbībā.

Tālāk ir sniegta versija, kas uzrakstīta C valodā:

5. darbība. Izveidojiet koplietojamu bibliotēku

Koplietojamu bibliotēku var izveidot ar jebkuru kompilatoru. Tā kā koplietotajā bibliotēkā ir vietējais kods, mums tas būs jāizveido.

6. darbība: palaidiet savu programmu

Šis solis ietver koda novērtēšanu un programmas problēmu noteikšanu. Tas ietvers Java izpildlaika vidi, jo kods galvenokārt tiks izpildīts JVM.

Izlaidiet šādu komandu:

java 1. piemērs

Tam vajadzētu atgriezties:

Tā bija mūsu īsa iesācēju rokasgrāmata par Java vietējās saskarnes izmantošanu. Mēs ceram, ka jums tas šķita noderīgi.

Lai uzzinātu, kā strādāt ar JNI, ir svarīgi ikvienam, kurš vēlas izstrādāt Java lietojumprogrammas, īpaši android lietojumprogrammas viedtālruņiem.