Из Википедии, бесплатной энциклопедии
  (Перенаправлено из Java API )
Перейти к навигации Перейти к поиску

Существует два типа интерфейсов прикладного программирования (API) языка программирования Java :

  • Официальное ядро ​​Java API, содержащееся в Android (Google), SE (OpenJDK и Oracle), MicroEJ. Эти пакеты (пакеты java. *) Являются базовыми языковыми пакетами Java, а это означает, что программисты, использующие язык Java, должны были использовать их, чтобы хоть как-то эффективно использовать язык Java.
  • Необязательные API, которые можно загрузить отдельно. Спецификация этих API определяется многими различными организациями в мире (Alljoyn, OSGi, Eclipse, JCP, ESR и т. Д.).

Ниже приводится частичный список интерфейсов прикладного программирования (API) для Java.

API [ править ]

Ниже приводится очень неполный список, так как количество API-интерфейсов, доступных для платформы Java, огромно.

Платформы Rich Client
  • Платформа расширенных клиентов Eclipse (RCP)
  • Платформа NetBeans
Office_compliant библиотеки
  • POI Apache
  • JXL - для Microsoft Excel
  • JExcel - для Microsoft Excel
Сжатие
  • LZMA SDK, Java-реализация SDK, используемая популярным программным обеспечением для архивирования файлов 7-Zip ( доступно здесь )
JSON
  • Джексон (API)
Игровые движки
  • Slick
  • jMonkey Engine
  • Двигатель JPCT
  • LWJGL
Библиотеки реального времени

Java в реальном времени - это универсальный термин, обозначающий комбинацию технологий, которая позволяет программистам писать программы, отвечающие требованиям систем реального времени на языке программирования Java.

Сложное управление памятью в Java, встроенная поддержка потоковой передачи и параллелизма, безопасность типов и относительная простота создали потребность в ее использовании во многих областях. Его возможности были расширены для поддержки вычислительных потребностей в реальном времени:

  • Java поддерживает потоковую модель со строгим приоритетом.
  • Поскольку потоки Java поддерживают приоритеты, механизмы блокировки Java поддерживают методы предотвращения инверсии приоритета, такие как наследование приоритета или протокол верхнего предела приоритета.

Чтобы преодолеть типичные трудности реального времени, сообщество Java представило спецификацию для Java реального времени, JSR001. Появился ряд реализаций полученной спецификации реального времени для Java (RTSJ), включая эталонную реализацию от Timesys, IBM WebSphere Real Time, Sun Microsystems Java SE Real-Time Systems, [1] Aonix PERC или JamaicaVM от aicas.

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

Спецификация реального времени для Java [ править ]

Спецификация реального времени для Java (RTSJ) - это набор интерфейсов и улучшений поведения, которые позволяют программировать компьютер в реальном времени на языке программирования Java. RTSJ 1.0 был разработан как JSR 1 в рамках процесса сообщества Java, который утвердил новый стандарт в ноябре 2001 года. RTSJ 2.0 разрабатывается под JSR 282. Черновая версия доступна на странице JSR 282 JCP. Более подробную информацию можно найти на сайте RTSJ 2.0.

  • Javolution
Библиотеки окон

Библиотека управления окнами - это набор классов, доступных в API C ++ среды выполнения (SPL) и в API оператора SPL Java ™. Библиотека используется для реализации примитивных операторов, которым нужны окна, соответствующие семантике окна SPL. Использование библиотеки управления окнами обеспечивает согласованную семантику оконной политики для операторов и упрощает реализацию операторов.

SPL предлагает как переворачивающиеся, так и раздвижные окна. Оба типа окон хранят все входящие данные в памяти до тех пор, пока не сработает политика удаления кортежей. Используйте поддержку SPL для окон, когда функциональность, требуемая примитивным оператором, может быть построена с использованием семантики, предоставляемой конструкциями окна SPL.

Одним из примеров оператора из набора инструментов SPL Standard Toolkit, который использует библиотеку и синтаксис управления окнами, является Aggregateоператор. Примером оператора, который буферизует недавно полученные кортежи, но не использует библиотеку управления окнами и синтаксис, является DeDuplicateоператор. Это действие происходит из-за того, что этот оператор имеет другую семантику выселения и триггера, чем те, которые предоставляет SPL. Этот оператор должен поддерживать только уникальные кортежи и отбрасывать все повторяющиеся кортежи, полученные в пределах временного окна.

С помощью библиотеки управления окнами разработчики могут указывать различные политики вытеснения и запуска, но могут реализовывать действия по обработке событий независимо от деталей политики окна. Есть несколько различий при реализации примитивных операторов в C ++ и Java, которые используют предложение окна SPL.

В реализации C ++ разработчики не обязаны использовать библиотеку окон (предпочтительной практикой является использование библиотеки). Они могут использовать API генерации кода оператора SPL только для получения указанной политики окна для данного экземпляра оператора. Затем они могут сгенерировать код, используя другие контейнеры. Кроме того, разработчики могут проверять допустимые конфигурации окон во время генерации кода.

В реализации Java разработчики должны использовать библиотеку окон. Это действие может быть достигнуто путем регистрации класса, который реализует com.ibm.streams.operator.window.StreamWindowListener<T>обработку событий, генерируемых окном (com.ibm.streams.operator.window.StreamWindow<T>). Это использование необходимо, поскольку операторы Java не основаны на генерации кода. В результате окна автоматически управляются средой выполнения, чтобы гарантировать семантику окна SPL. Разработчики могут проверить допустимые конфигурации окон во время выполнения, проверив политику окна, связанную с заданным входным портом.

  • Стандартный набор инструментов виджетов (SWT)
Библиотеки физики
  • JBox2D
  • JBullet
  • dyn4j

См. Также [ править ]

  • Платформа Java
  • Интерфейс прикладного программирования
  • Java ConcurrentMap
  • Список фреймворков Java

Заметки [ править ]

Внешние ссылки [ править ]

  • APISonar - поиск примеров Java API