平台和api这个词到底是什么意思?

时间:2010-01-09 22:02:37

标签: java api terminology semantics

我买了一本书“学习java SE 6平台”。我想知道平台这个词究竟意味着什么。原因不仅仅是我可以使用的一堆类。图书馆下Netbeans中的JDK 1.6节点。

什么是API?与平台不一样。但是没有库意味着同样的事情..一堆带有一些超类的类等等?

4 个答案:

答案 0 :(得分:7)

术语“平台”用于表示在特定上下文中被视为给定的任何软件,服务和资源集合,因此它们可用作应用程序软件的构建块(或构建更高级别的平台最重要的是 - 在另一种情况下被认为是一个平台)

API是应用程序编程接口的首字母缩写。这通常意味着应用程序(您正在编写的程序)可以使用的调用约定(函数签名等)的集合,用于细读驻留在库或平台内的功能。

API与库不同 - 术语“接口”表示它只指定您可以调用的内容以及行为方式。实现接口的实际库可以自行决定它如何提供指定的功能。

API的一个很好的例子就是JDBC API - 这是java程序与数据库通信的标准方法。每个数据库供应商都有自己的协议,用于连接数据库,绑定变量等数据库命令,但JDBC API对所有这些进行了抽象,并定义了一个共同点,允许所有Java程序使用相同的函数集进行通信 - 理想情况下 - 任何数据库。实际提供驱动程序是数据库供应商的工作,即实现符合API的库并知道它如何为该特定数据库系统完成其任务。因此,在这种情况下,您有许多驱动程序库(每个供应商都有自己的驱动程序库,有时是多个驱动程序库),但它们都通过API指定的同一组函数,类等提供其功能(在本例中为JDBC API - 请参阅http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

有时,API是如此广泛以至于它被视为一个平台,但术语平台更为通用,平台不需要是API。例如,标准UNIX实用程序(如ls,grep,cd等)的集合可以被视为一个平台,但不是一个API。

答案 1 :(得分:6)

Java平台(大致)包含以下内容:

  1. Java编程语言
  2. Java API
  3. Java虚拟机
  4. Wikipedia article on Java (software platform)中有相当多的细节。

    API或应用程序编程接口单独提供Java平台附带的类。例如,当一个人说“Java API”时,可能会引用Java SE平台附带的类库。

    仅为了提供链接,以下是Java平台各部分的官方文档:

答案 2 :(得分:2)

API - 是一个应用程序编程接口 - 这是一组使用的类 平台是一个完整的捆绑包 - 带有运行时的API和其他应用程序,如编译器,等等。

答案 3 :(得分:0)

是的平台更像是一个通用术语,可能意味着不同背景下的不同事物。想想像XBox这样的游戏平台。在这种情况下,微软为开发者提供了一个“平台”来制作游戏,并为人们提供游戏。

对于J2EE(企业Java),术语平台对我来说意味着开发人员构建企业应用程序的解决方案。它不仅仅是你指出的一组课程。例如,有很多规范,例如JPA(用于持久性),EJB等。在这些情况下,Java开发人员已经为其他供应商制定了规范来实现。我认为平台是一个基础,提供各种服务,可以在其上构建更大的东西。

API是一种技术性更高的术语。它代表应用程序编程接口。 API是开发人员在使用其他人的软件时使用的界面。想想Java String类。它有一个length()方法。所有Jave开发人员都知道String类存在此方法,因此它是Java API的一部分。