java程序如何访问操作系统的功能?

时间:2011-09-16 10:21:21

标签: java

java程序如何访问操作系统的功能? 这是使用JNI吗?

2 个答案:

答案 0 :(得分:4)

当您的Java应用程序需要执行对本机代码(即Windows中的DLL)的调用时,将使用JNI。

JVM本身是用C / C ++编写的,因此每个实现都使用可用的OS API库进行SO调用(Windows的Win32 API)。

一次Java调用可能导致OS调用(或许多,或者没有,取决于JVM缓冲的I / O),因此JVM使用Java中的参数调用操作系统并将结果返回给程序。

如果您的应用程序需要访问操作系统,必须通过Java API,使您的程序可以使用某些操作系统功能,如文件,套接字,窗口。由于许多原因,许多OS功能不适用于Java应用程序。

通过外部产品或库提供一些特殊功能,如串行(COM),并行和蓝牙端口。这些产品/库附带了一个可用于您的程序的JAVA API,此API通过使用产品/库中包含的一些本机库来使用JNI进行OS调用。

如果您需要Java或外部产品中不具备的操作系统的特殊功能,请考虑创建本机库,创建包装它的JAVA API并使用JNI从API调用它。您(和其他)应用程序可以使用API​​来访问这些功能。

答案 1 :(得分:1)

最好从java.lang.Runtime开始,或者更好的是java.lang.Process

根据您为操作系统调用的内容,您可能还对java.lang.management包感兴趣。