2011-09-16 46 views

回答

1

更好的是從java.lang.Runtime或更好的java.lang.Process開始。

根據您要求的操作系統,您可能還對java.lang.management軟件包感興趣。

4

當您的Java應用程序需要執行對本地代碼(即Windows中的DLL)的調用時,將使用JNI。

JVM本身使用C/C++編程,所以每個實現都使用可用的OS API庫來完成SO調用(用於Windows的Win32 API)。

一個Java調用可能導致OS調用(或者很多或者沒有,像JVM緩衝的I/O一樣),因此JVM使用來自Java的參數調用OS並將結果返回給程序。

如果您的應用程序需要訪問操作系統,必須通過Java API,使您的程序可以使用某些操作系統功能,如文件,套接字,窗口。由於許多原因,許多OS功能不適用於Java應用程序。

某些特殊功能可通過串行(COM),並行和藍牙端口等外部產品或庫提供。這些產品/庫帶有可用於您程序的JAVA API,並且此API使用JNI通過使用產品/庫中包含的某些本機庫進行操作系統調用。

如果您需要Java或外部產品中不具備的操作系統的特殊功能,請考慮創建本機庫,創建一個包裝它的JAVA API並使用JNI從API調用它。您(和其他)應用程序可以使用API​​訪問這些功能。