API(应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。
运行Java程序时,虚拟机装载程序的class文件所使用的JavaAPIclass文件。所有被装载的class文件(包括从应用程序中和从JavaAPI中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,JavaAPI调用了本地方法。由于JavaAPIclass文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,JavaAPIclass文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,JavaAPI都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和JavaAPI,因此,Java程序自身就能够成为具有平台无关性的程序。