Bermula dengan Java Native Interface (JNI)

Getting Started With Java Native Interface



Java Native Interface, disingkat JNI, adalah antara muka pengaturcaraan yang memungkinkan pengembang Java menjalankan kod dan potongan dari bahasa pengaturcaraan lain di Java. Ia disertakan dengan Kit Pembangunan Perisian Java yang penting, atau SDK (kami akan membahasnya dalam tutorial yang berbeza).

JNI juga dihormati kerana fiturnya memanggil API untuk menyelinap di mesin Virtual Java dalam aplikasi Java. Ini membolehkan para dev untuk memanggil kod java dalam kod aplikasi asli.







Sekiranya anda telah meluangkan masa untuk bekerja dengan java, anda mungkin telah menemui banyak masalah prestasi yang pasti dapat anda jalani. Ini tidak menjadi masalah apabila anda menjalankan kod yang sama dalam bahasa ibunda, yang dapat berkinerja lebih dari lapan belas kali lebih cepat ketika dibaca dalam model yang disusun. Selain itu, anda juga dapat menggunakan rutin perkakasan yang sudah lapuk / tidak sesuai dengan kod asli dalam bahasa lain.



Tutorial ini akan menunjukkan bagaimana kod C / C ++ mesin dapat dipanggil dari dalam aplikasi java.



Prasyarat

Anda akan memerlukan beberapa perkara untuk diikuti dengan panduan ini dengan betul. Ini termasuk penyusun Java, atau Javac.exe, bersama dengan JVM, serta penjana kaedah C asli (javah.exe). Ketiga-tiganya disertakan dalam kit pengembangan perisian, jadi anda semua baik jika anda memilikinya. Selain ketiga-tiga ini, anda juga memerlukan fail yang menentukan JNI, termasuk fail tajuk Native dan fail perpustakaan yang lengkap.





Dan tentu saja, dalam tutorial mengenai menjalankan kod C dan C ++, kami juga akan menggunakan penyusun C untuk membuat perpustakaan bersama.

Komponen JNI

JNI terutamanya didorong oleh dua komponen, iaitu h dan javah. H adalah komponen fail header yang menggantikan kod asli dengan kod java, sedangkan Javah membuatnya sehingga fail ini dapat dimuat ke fail header aplikasi dengan sendirinya.



Memohon C / C ++ dari kod Java

Langkah 1: Menulis kod di Java

Kod pertama ditulis dalam java dan mematuhi tiga syarat. Pertama, ditulis dengan kaedah asli yang akan digunakan di kemudian hari. Kedua, ia harus memuatkan pustaka bersama di mana kod asli adalah sebahagian, dan terakhir, ia harus menggunakan kaedah asli.

Mari gunakan kod ini untuk menggambarkan lebih lanjut:

Garis notis 3 dan 6; ini adalah garis di mana kaedah asli dimasukkan. Kod yang memuatkan pustaka bersama terletak pada baris 10, yang menyebabkan kaedah dipanggil antara baris 12 hingga 15.

Langkah 2: Menyusun kod java ke kod bytecode

Langkah kedua ada kaitannya dengan menyusun kod java. Penyusun javac boleh melakukan tugas di sini untuk kita; hanya mengeluarkan arahan di bawah:

$ javac Contoh1.jawa

Langkah 3: Buat fail tajuk C / C ++

Seterusnya, fail tajuk bahasa ibunda mesti dibuat. Fail header ini memberi kuasa kepada tandatangan kod asli.

Fail header ini dapat dibuat dengan alat asli javah, penjana stub C yang dibundel dengan SDK, menggunakan perintah berikut:

javah Contoh1

Output berikut akan kembali:

Langkah 4: Menulis kod asli

Di sinilah kita akan menulis kod C / C ++. Anda harus perhatikan semua tandatangan yang harus menyerupai pernyataan yang kami buat pada langkah 1.

Berikut adalah pelaksanaan yang ditulis dalam bahasa C:

Langkah 5: Buat pustaka bersama

Perpustakaan bersama boleh dibuat dengan penyusun apa pun. Kerana pustaka bersama mengandungi kod asli, kita harus membuatnya.

Langkah 6: Lancarkan program anda

Langkah ini melibatkan penilaian kod dan mengenal pasti masalah dengan program. Ini akan melibatkan lingkungan runtime Java kerana kodnya akan dijalankan di JVM terutamanya.

Keluarkan arahan berikut:

java Contoh1

Ia harus kembali:

Jadi itu adalah panduan ringkas pemula kami untuk menggunakan Java Native Interface. Kami harap anda menganggapnya berguna.

Mempelajari cara bekerja dengan JNI sangat penting bagi sesiapa sahaja yang ingin mengembangkan aplikasi Java, terutamanya aplikasi android untuk telefon pintar.