java中的方法有兩種,java方法和本地方法。
java方法:是由java語言編寫,編譯成字節碼,存儲在class文件中的。java方法是與平台無關的。
本地方法:本地方法是由其他語言(如C、C++ 或其他匯編語言)編寫,編譯成和處理器相關的代碼。本地方法保存在動態連接庫中,格式是各個平台專用的,運行中的java程序調用本地方法時,虛擬機裝載包含這個本地方法的動態庫,並調用這個方法。
通過本地方法,java程序可以直接訪問底層操作系統的資源,但是這么用的話,程序就變成了平台相關了,因為本地方法的動態庫是與平台相關的,此外,使用本地方法還可能把程序變得和特定的java平台實現相關。
java的本地方法接口JNI,使得本地方法可以在特定主機系統上的任何一個java平台上實現運行。
如果希望使用特定主機上的資源,而他們又無法從JAVA API訪問,那么可以寫一個平台相關的java程序來調用本地資源。如果希望保證平台的無關性,那么只能通過JAVA API 來訪問底層系統的資源。