摘要:在預設的Java架構下,調用特有的本地程序。與此同時,調用的那個程序,與被調用的那個程序,要實現特有的數據互通。調研數值表明:數據通信路徑下的這種方式,是帶有可行性的;它替換了慣用的JNI,JNI架構下的程序調用,也可以被省略。
關鍵詞:Java 應用程序 數據通信
1 概要的新穎通信
比對慣用的語言,Java這一新穎語言,創設了一次編程路徑下的多處執行,實現了特有的跨平臺。若安設了Java架構下的編譯程序,則可以銜接起各類處理器、現有的不同平臺。然而,Java雖帶有可移植這一優勢,卻也增添了原初的調用麻煩。這是因為,C++架構下的語言,若調用慣常的本地程序,只要明晰頭文件固有的包含即可;然而,Java架構下的調用,就要依循JNI特有的約定指標,予以進行。
最近幾年,CORBA這一新穎技術,逐漸替換掉了原初的JNI。某些情形下,JNI特有的本地調用,是應被接納的。例如:若要選用偏舊的數據庫,或者銜接硬件驅動,或者銜接預設的操作平臺,就要接納JNI。再如:為了延展原初的程序性能,便利接續的交互,也要安設JNI。然而,若要依循設定好的標準,去接納數據或互通結果,就不能安設這樣的JNI,應當安設更便捷的、可用的流程。非源代碼架構下的程序調用,可以調用預設的編譯程序,并創設互通的路徑。
2 調用既有的本地程序
若要調用既有的本地程序,則要接納可用的對象。通過設定好的這個對象,原初的應用程序,就能在創設的環境下,實現互通關聯。這一對象能供應的路徑,是靜態工廠的新穎方法。調用這一方法,可以獲取關涉對象的、唯一的那個實例。可用的這個對象,就是創設出來的runtime。對象涵蓋了偏多的可用路徑,這樣的路徑,能執行特有的外部命令、搜集現有的運行垃圾、返回原初的內存、安設最優的動態庫。例如:可以安設這樣的對象,調用平臺架構下的記事本這個程序,以便互通和運行。
調用既有的exec,能產生出可用的本地進程;與此同時,還能返回特有的子類實例。獲取到的這一實例,可以管控關涉的進程,以便明晰關涉的進程信息。Exec架構下的多樣方法,創設出來的子進程,都沒能銜接原初的終端,或者原初的控制臺。為此,子進程固有的IO,都要經由初始路徑,重設可用的定向,以便傳送給固有的父進程。因此,用戶若要執行,就很難明晰Is這一命令特有的返回數值。用戶若要接納這一返回結果,則要調動起其他流程,以便輸出原初的子進程。在這以后,把獲取到的數值,在預設的主進程架構下,予以輸出。
3 數據運送的路徑
創設進程的那些輸出及輸入,都要被預設的父進程管控。利用這一狀態,可在現有的父子進程架構內,妥善傳遞數值。返回的特有數值,會銜接起子進程原初的輸入。把這一范疇的output,劃歸到現有的子進程,當成輸入范疇內的讀入數值。這樣的數據流,帶有緩沖的特性。子進程在預設的輸出端,若要寫下數值,則可從預設的數據流,來讀取數值。例如:父進程接納了這一程序:把rt看成原初的對象,把xxv1看成原初的子進程。S這一字符,被看成特有的啟動命令;接納的字符串,被劃歸進ch以內。最后,把接納的多樣數據,妥善予以顯示。
Java特有的通信支持,涵蓋了TCP范疇的新穎通信、數據報范疇的通信。在這之中,數據報特有的通信,要依循設定好的UDP,當成原初的協議。這一通信路徑的速率很快,為此,這樣的路徑,也帶有多樣用途。網絡游戲多安設了UDP范疇內的通信協議,這是因為,網絡通信既有的速率大小,會關涉游戲流程應有的順暢性。Java這一語言特有的通信中,發送和接納的數值,都被存留在預設的數據包。客戶銜接的服務器以內,可以安設關涉的這種對象,然后經由接收路徑,接納數據包,再經由send范疇的發送路徑,去發出這一數據包。
Java這一語言以內,表征數據包的特有對象,涵蓋了packet。數據報通信銜接的數據包,都要明晰自身的走向。例如:特有的構造函數,可以創設原初的類對象。它創設了可用的數據報,并銜接起主機固有的某一端口。若數據報沒能被妥善創設,或者沒能妥善銜接固有的端口,則顯示特有的異常狀態。返回路徑下,數據包存留了被接納的數值,要慎重查驗IO這樣的誤差。
4 結束語
實際上,數據傳遞慣常的路徑,可以分出多種,例如:選取可用的管道、可用的流文件,都能傳遞既有的數據。本文描畫出來的傳遞路徑,仍舊停留在慣常的靜態傳遞;若能更替原初的代碼,還能夠創設動態架構下的數據更新。Java這一路徑下的方法,要求接納輸入數值,以及特有的輸出數值;若沒能接納這樣的數值,就很難去傳遞。可以選取預設的環境變量,來化解掉這樣的依賴性,以便順暢傳遞。
參考文獻:
[1]王皖陵.在Java中應用程序間數據通信的一種方法[J].安徽工業大學學報(自然科學版),2005(01).
[2]周亦敏,張生.Java中Excel操作類的設計與實現[D].上海理工大學學報,2007(02).
[3]趙紅宇,黎茂鋒,劉志勤.Java/COM集成技術研究[J].西南科技大學學報,2004(02).
作者簡介:
晁永蘭(1980-),女,青海海東人,長安大學本科,講師,研究方向:計算機應用。