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

ajs*_*sie 7 java api terminology semantics

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

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

Rol*_*man 7

术语"平台"用于表示在特定上下文中被认为是给定的任何软件,服务和资源的集合,因此它们可以用作应用软件的构建块(或者在上面构建更高级别的平台).那个 - 在另一个环境中被视为平台的东西)

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

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

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

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


coo*_*ird 6

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

  1. Java编程语言
  2. Java API
  3. Java虚拟机

关于Java(软件平台)的维基百科文章中有相当多的细节.

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

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

  • JVM运行Java应用程序.JRE提供JVM来运行Java应用程序,而JDK有一个编译器,它以JVM为目标来编译Java应用程序. (2认同)