平台和api这个词究竟是什么意思?

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

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

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

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

API与库不同 – 术语Interface传达它只指定您可以调用的内容以及它的行为方式。 实现接口的实际库可以自行决定它如何提供指定的function。

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

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

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

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

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

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

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

  • Java编程语言 – Java语言规范
  • Java SE API – Java平台,标准版6 API规范
  • Java虚拟机 – Java虚拟机规范

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

是的平台更像是一个通用术语,可以在不同的环境中表达不同的东西。 想想像XBox这样的游戏平台。 在这种情况下,微软为开发者提供了一个“平台”来制作游戏,并为人们提供游戏。

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

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