JNI是一種包容極廣的編程接口,允許我們從Java應用程序裡調用固有方法。它是在Java 1.1裡新增的,維持著與Java 1.0的相應特性——“固有方法接口”(NMI)——某種程度的兼容。NMI設計上一些特點使其未獲所有虛擬機的支持。考慮到這個原因,Java語言將來的版本可能不再提供對NMI的支持,這兒也不准備討論它。
目前,JNI只能與用C或C++寫成的固有方法打交道。利用JNI,我們的固有方法可以:
■創建、檢查及更新Java對象(包括數組和字串)
■調用Java方法
■俘獲和丟棄“異常”
■裝載類並獲取類信息
■進行運行期類型檢查
所以,原來在Java中能對類及對象做的幾乎所有事情在固有方法中同樣可以做到。