Java API
API(ApplicationProgrammingInterface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件的以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。运行Java程序时,虚拟机装载程序的class文件所使用的JavaAPIclass文件。所有被装载的class文件(包括从应用程序中和从JavaAPI中提取的)和所有已经装载的动态库(包含本地方法)共同组成了在Java虚拟机上运行的整个程序。在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,JavaAPI调用了本地方法。由于JavaAPIclass文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,JavaAPIclass文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,JavaAPI都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和JavaAPI,因此,Java程序自身就能够成为具有平台无关性的程序。
1、作用
JavaAPI在Java安全性模型方面也有贡献。当JavaAPI的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。
2、基本内容
JavaAPI通过支持平台无关性和安全性,使得Java适应于网络应用。JavaAPI是运行库的集合,它提供了一套访问主机系统资源的标准方法。
运行Java程序时,虚拟机装载程序的class文件所使用的JavaAPIclass文件。所有被装载的class文件(包括从应用程序中和从JavaAPI中提取的)和所有已经装载的动态库(包含本地方法)共同组成了再Java虚拟机上运行的整个程序。在一个平台能够支持Java程序以前,必须在这个特定平台上明确地实现API的功能。为访问主机上的本地资源,JavaAPI调用了本地方法。由于JavaAPIclass文件调用了本地方法,Java程序就不需要再调用它们了。通过这种方法,JavaAPIclass文件为底层主机提供了具有平台无关性、标准接口的Java程序。对Java程序而言,无论平台内部如何,JavaAPI都会有同样的表现和可预测的行为。正是由于在每个特定的主机平台上明确地实现了Java虚拟机和JavaAPI,因此,Java程序自身就能够成为具有平台无关性的程序。JavaAPI在Java安全性模型方面也有贡献。当JavaAPI的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。JavaAPI在Java安全性模型方面也有贡献。当JavaAPI的方法进行任何有潜在危险的操作(比如进行本地磁盘写操作)之前,都会通过查询访问控制器来检验是否得到了授权。访问控制器是一个类,该类用来执行栈检验,已决定是否允许某种操作。
3、API声明
正如在"什么是API"中所说,API函数包含在位于系统目录下的DLL文件中.你可以自己输入API函数的声明,但VB提供了一种更简单的方法,即使用APITextViewer.要想在你的工程中声明API函数,只需运行APITextViewer,打开Win32api.txt或.MDB如果你已经把它转换成了数据库的话,这样可以加快速度.使用预定义的常量和类型也是同样的方法.API除了有应用“应用程序接口”的意思外,还特指API的说明文档,也称为帮助文档。
4、API与GUI或命令接口
API接口属于一种操作系统或程序接口,而后两者都属于直接用户接口。有时公司会将API作为其公共开放系统。也就是说,公司制定自己的系统接口标准,当需要执行系统整合、自定义和程序应用等操作时,公司所有成员都可以通过该接口标准调用源代码,该接口标准被称之为开放式API。
5、API的历史与现状
当WINDOWS操作系统开始占据主导地位的时候,开发WINDOWS平台下的应用程序成为人们的需要。而在WINDOWS程序设计领域处于发展的初期,WINDOWS程序员所能使用的编程工具唯有API函数,这些函数是WINDOWS提供给应用程序与操作系统的接口,他们犹如“积木块”一样,可以搭建出各种界面丰富,功能灵活的应用程序。所以可以认为API函数是构筑整个WINDOWS框架的基石,在它的下面是WINDOWS的操作系统核心,而它的上面则是所有的华丽的WINDOWS应用程序。
但是,没有合适的Windows编程平台,程序员想编写具有Windows风格的软件,必须借助API,API也因此被赋予至高无上的地位。那时的WINDOWS程序开发还是比较复杂的工作,程序员必须熟记一大堆常用的API函数,而且还得对WINDOWS操作系统有深入的了解。然而随着软件技术的不断发展,在WINDOWS平台上出现了很多优秀的可视化编程环境,程序员可以采用“即见即所得”的编程方式来开发具有精美用户界面和功能强大的应用程序。
这些优秀可视化编程环境操作简单、界面友好,在这些工具中提供了大量的类库和各种控件,它们替代了API的神秘功能,事实上这些类库和控件都是构架在WIN32API函数基础之上的,是封装了的API函数的集合。它们把常用的API函数的组合在一起成为一个控件或类库,并赋予其方便的使用方法,所以极大的加速了WINDOWS应用程序开发的过程。有了这些控件和类库,程序员便可以把主要精力放在程序整体功能的设计上,而不必过于关注技术细节。
实际上如果我们要开发出更灵活、更实用、更具效率的应用程序,必然要涉及到直接使用API函数,虽然类库和控件使应用程序的开发简单的多,但它们只提供WINDOWS的一般功能,对于比较复杂和特殊的功能来说,使用类库和控件是非常难以实现的,这时就需要采用API函数来实现。