Eeem... Mungkin selama ini kita dapat membuat aplikasi dengan hanya menggunakan bahasa java saja, tetapi pada kondisi tertentu bahasa java tidak dapat memenuhi aplikasi yang akan kita buat karena mungkin harus mengakses hardware dari suatu perangkat. Nah disini kan berarti kita butuh bahasa C atau assembly untuk pengaksesan hardware yang menggunakan JNI untuk berinteraksi dengan bahasa java. Selain itu, boleh jadi kita telah membuat suatu program dalam bentuk dll, dan terlihat membutuhkan waktu untuk menulis kembali program tersebut dalam bahasa java, nah disini juga JNI dapat digunakan. So secara ringkas, dengan membuat JNI kita dapat menggunakan native methods untuk beberapa hal yaitu :
- Membuat, mengamati, dan mengupdate object-object java termasuk array dan string-nya
- Memanggil methods java
- Catch dan throws beberapa eksepsi
- Meload kelas dan mengambil informasi dari kelas tersebut
- Melakukan runtime checking
Beberapa hal yang perlu diperhatikan untuk membuat native method yaitu:
- Binary compatibility. Maksudnya para programmer harus menjaga hanya satu versi saja native method yang digunakan untuk suatu platform. Nah karena cuma satu versi saja berarti native methodnya menjadi jelas. Tentunya dibutuhkan diskusi oleh semua pihak untuk membuat native method seperti ini.
- Efisiensy.
- Functionality. Paling tidak native method dapat menggunakan beberapa fitur internal dari JVM untuk menyelesaikan task tertentu.
Saat ini ada beberapa native method interface yang sering digunakan yaitu
- JDK 1.0 Native Method Inteface
- Java Runtime Interface
- Jaw Native Interface and Java/COM Inteface
- Netscape JRI