摘要: JAVA的跨平臺的特性深受java程序員們的喜愛,但正是由于它為了實現(xiàn)跨平臺的目的,使得它和本地機(jī)器的各種內(nèi)部聯(lián)系變得很少,大大約束了它的功能,比如與一些硬件設(shè)備通信,往往要花費很大的精力去設(shè)計流程編寫代碼去管理設(shè)備端口,而且有一些設(shè)備廠商提供的硬件接口已經(jīng)經(jīng)過一定的封裝和處理,不能直接使用java程序通過端口和設(shè)備通信,這種情況下就得考慮使用java程序去調(diào)用比較擅長同系統(tǒng)打交道的第三方程序,從1.1版本開始的JDK提供了解決這個問題的技術(shù)標(biāo)準(zhǔn):JNI技術(shù).
JNI是Java Native Interface(Java本地接口)的縮寫,本地是相對于java程序來說的,指直接運行在操作系統(tǒng)之上,與操作系統(tǒng)直接交互的程序.從1.1版本的JDK開始,JNI就作為標(biāo)準(zhǔn)平臺的一部分發(fā)行.在JNI出現(xiàn)的初期是為了Java程序與本地已編譯語言,尤其是C和C++的互操作而設(shè)計的,后來經(jīng)過擴(kuò)展也可以與c和c++之外的語言編寫的程序交互,例如Delphi程序.
閱讀全文