2010-01-09 1 views
6

Я купил книгу «Изучая платформу Java 6 SE». Интересно, что означает платформа слова. причина - это не просто куча классов, которые я могу использовать. узел JDK 1.6 в Netbeans в библиотеках.Что означают слова platform и api?

А что такое API? это не то же самое, что платформа. Но разве библиотека не означает то же самое ... куча классов с некоторыми суперклассами и так далее?

+0

Платформа может ссылаться либо на аппаратную архитектуру, либо в этом случае на программную среду. Подробнее см. в ответе coobird. –

ответ

6

Термин «платформа» используется для обозначения любой коллекции программного обеспечения, услуг и ресурсов, которые в определенном контексте считаются заданными, поэтому их можно использовать в качестве строительных блоков для прикладного программного обеспечения (или для создания более высокого уровня платформа на вершине этого - что-то считается платформой в другом контексте)

API - это аббревиатура для интерфейса прикладного программирования. Обычно это означает сбор условных вызовов (сигнатур функций и т. П.), Которые могут использоваться приложением (программа, которую вы пишете) для просмотра функций, находящихся внутри библиотеки или платформы.

API не совпадает с библиотекой - термин Интерфейс передает, что он определяет только то, что вы можете назвать, и как это происходит. Фактическая библиотека, которая реализует интерфейс, может сама решить, как она обеспечивает указанную функциональность.

Хорошим примером API является, например, JDBC API - это стандартный способ взаимодействия Java-программ с базами данных. Каждый поставщик базы данных имеет свой собственный протокол для подключения к базе данных, привязки переменных и т. Д. К командам базы данных, но JDBC API абстрагирует все это и определяет общую основу, что позволяет всем программам Java использовать один и тот же набор функций для общения - в идеале - любая база данных. Задача поставщика базы данных - фактически предоставить драйвер, то есть реализовать библиотеку, которая соответствует API, и знает, как она может выполнять свои задачи для этой конкретной системы баз данных. Таким образом, в этом случае у вас много библиотек драйверов (у каждого поставщика есть свои, а иногда и несколько), но все они выполняют свою функциональность с помощью того же набора функций, классов и т. Д., Определенных API (в данном случае API JDBC - см. http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html

Иногда API настолько обширен, что считается платформой, но термин платформа более общий, платформе не обязательно должен быть API. Например, набор стандартных утилит UNIX, таких как ls, grep , cd и т. д. можно рассматривать как платформу, но не столько API.

+0

Хороший ответ, он разъясняет, что подразумевается под платформой и api .... вы спасли мое время .... :) –

1

API - это интерфейс прикладного программирования - это набор классов для использования.
Платформа - это целый комплект - API со временем выполнения и дополнительными приложениями, такими как компилятор и т. Д.

6

Платформа Java состоит (грубо говоря) из следующих действий:

  1. Язык программирования Java
  2. Java-API
  3. Виртуальная машина Java

Там есть совсем немного детали в Wikipedia article on Java (software platform).

API, или интерфейс прикладного программирования, предоставляет классы, которые поставляются с платформой Java. Например, когда говорят «Java API», можно было бы, вероятно, ссылаться на библиотеки классов, которые поставляются с платформой Java SE.

Просто ради обеспечения связей, вот официальная документация для каждой части платформы Java:

+0

Что такое JVM? к отношениям с JRE и JDK? – ajsie

+2

JVM запускает Java-приложения. JRE предоставляет JVM для запуска приложений Java, в то время как JDK имеет компилятор, который нацелен на JVM для компиляции приложений Java. – coobird

+0

Краткий ответ и точка. В приведенной ниже ссылке объясняются различные API, которые существуют для Java. Я не знаю, где идея каркаса вписывается в картину. http://en.wikipedia.org/wiki/List_of_Java_APIs –

0

Да, платформа - это скорее общий термин, который может означать разные вещи в разных контекстов. Подумайте о игровой платформе, такой как XBox. В этом случае Microsoft предоставляет «платформу» для разработчиков для создания игр, а также для людей, чтобы играть в игры.

В случае J2EE (enterprise Java) термин «платформа для меня» означает решение для разработчиков для создания корпоративных приложений. Это больше, чем набор классов, как вы указали. Например, существует множество спецификаций, таких как JPA (для сохранения), EJB и т. Д. В этих случаях разработчики Java изложили спецификацию для других поставщиков. Я думаю о платформе как базе, которая предоставляет множество услуг, на которых можно построить нечто большее.

API является более техническим термином. Это означает интерфейс прикладного программирования. API - это интерфейс, который мы используем разработчиками при использовании программного обеспечения других людей. Подумайте о классе Java String. Он имеет метод length(). Все разработчики Jave знают, что этот метод существует для класса String, и поэтому он является частью Java API.