Эта статья поднимает множество проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалить эти сообщения-шаблоны ) ( Узнайте, как и когда удалить этот шаблон сообщения )
|
Существует два типа интерфейсов прикладного программирования (API) языка программирования Java :
- Официальное ядро Java API, содержащееся в Android (Google), SE (OpenJDK и Oracle), MicroEJ. Эти пакеты (пакеты java. *) Являются базовыми языковыми пакетами Java, а это означает, что программисты, использующие язык Java, должны были использовать их, чтобы хоть как-то эффективно использовать язык Java.
- Необязательные API, которые можно загрузить отдельно. Спецификация этих API определяется многими различными организациями в мире (Alljoyn, OSGi, Eclipse, JCP, ESR и т. Д.).
Ниже приводится частичный список интерфейсов прикладного программирования (API) для Java.
API [ править ]
Имя | Акроним | Описание и история версий | Доступна с |
---|---|---|---|
Java Advanced Imaging | JAI | Набор интерфейсов, поддерживающих модель программирования высокого уровня, позволяющую легко манипулировать изображениями . | |
Ассоциация стандартизации встраиваемых платформ | Консорциум ESR | здесь | |
Объекты данных Java | JDO | Спецификация персистентности Java-объекта . | |
Android API | здесь | ||
JavaHelp | Полнофункциональная расширяемая справочная система, которая позволяет включать онлайн-справку в апплеты, компоненты, приложения, операционные системы и устройства. | доступно здесь | |
Java Media Framework | JMF | API, который позволяет добавлять аудио, видео и другие временные медиа в приложения и апплеты Java. | |
Интерфейс именования и каталогов Java | JNDI | API для служб каталогов . | |
Java Persistence API | JPA | Спецификация объектно-реляционного отображения . | JSR 338 |
Java Speech API | JSAPI | Этот API позволяет синтезировать и распознавать речь . | |
Java 3D | J3D | Графа сцены основанного 3D API. | доступно здесь |
Java OpenGL | JOGL | Обертка библиотеки для OpenGL . | доступно здесь |
Java USB для Windows | (никто) | USB-соединение приложений Java | доступно здесь |
Facebook4j | (никто) | Оболочка Facebook API на Java. | доступно здесь |
Twitter4j | (никто) | Библиотека Java для API Twitter | доступно здесь |
Discord Java API | JDA | Библиотека Java для Discord API | доступно здесь |
Имя | Акроним | Пакеты Java , содержащие API |
---|---|---|
Среда активации JavaBeans | JAF | javax.activation |
JavaMail | (никто) | javax.mail |
Служба сообщений Java | JMS | javax.jms |
JavaServer Faces | JSF | javax.faces |
Имя | Акроним | Доступна с |
---|---|---|
Java API для RPC на основе XML | JAX-RPC | доступно здесь |
XQuery API для Java | XQJ | здесь и здесь |
Имя | Акроним | Доступна с |
---|---|---|
Подключенная ограниченная конфигурация устройства | CLDC | Эталонная реализация является доступна здесь |
API телефонии Java | JTAPI | доступно здесь |
Технология Java STM32 | STM32Java | доступно здесь |
Встроенная платформа MicroEJ | MicroEJ | доступно здесь |
Ниже приводится очень неполный список, так как количество 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