JNI 是包容極廣的程式設計介面,允許從 Java 應用程式調用固有方法。Java 1.1 新增,維持與 Java 1.0 相應特性「固有方法介面」(NMI)一定程度兼容。NMI 設計特點致使其未獲所有虛擬機支援,Java 未來版本可能不再支援 NMI,本文不討論 NMI。
目前 JNI 僅支援 C/C++ 固有方法。利用 JNI,固有方法可:
• 創建、檢查、更新 Java 物件(含陣列、字串)
• 調用 Java 方法
• 捕獲與丟棄「異常」
• 載入類別並獲取類別資訊
• 執行執行期類型檢查
幾乎所有原本在 Java 能對類別及物件做的操作,在固有方法中同樣可實現。