Lista de API de Java - List of Java APIs

Hay dos tipos de interfaces de programación de aplicaciones (API) del lenguaje de programación Java :

  • La API principal oficial de Java, contenida en Android (Google), SE (OpenJDK y Oracle), MicroEJ. Estos paquetes (paquetes java. *) Son los paquetes centrales del lenguaje Java, lo que significa que los programadores que utilizan el lenguaje Java tenían que utilizarlos para poder hacer un uso útil del lenguaje Java.
  • API opcionales que se pueden descargar por separado. La especificación de estas API se define de acuerdo con muchas organizaciones diferentes en el mundo (Alljoyn, OSGi, Eclipse, JCP, ESR, etc.).

La siguiente es una lista parcial de interfaces de programación de aplicaciones (API) para Java.

API

Nombre Acrónimo Descripción e historial de versiones Disponible de
Imágenes avanzadas de Java JAI Un conjunto de interfaces que soportan un modelo de programación de alto nivel que permite manipular imágenes fácilmente.
Asociación para la estandarización de plataformas embebidas Consorcio ESR aquí
Objetos de datos de Java JDO Una especificación de la persistencia de objetos Java .
API de Android Google aquí
JavaHelp Un sistema de ayuda extensible y con todas las funciones que le permite incorporar ayuda en línea en subprogramas, componentes, aplicaciones, sistemas operativos y dispositivos. disponible aquí
Marco multimedia de Java JMF Una API que permite agregar audio, video y otros medios basados ​​en el tiempo a aplicaciones y subprogramas Java.
Interfaz de directorio y nombres de Java JNDI Una API para servicios de directorio .
API de persistencia de Java JPA Una especificación para el mapeo relacional de objetos . JSR 338
API de Java Speech JSAPI Esta API permite la síntesis de voz y el reconocimiento de voz .
Java 3D J3D Una API 3D basada en gráficos de escena . disponible aquí
Java OpenGL JOGL Una biblioteca contenedora para OpenGL . disponible aquí
Java USB para Windows (ninguno) Una comunicación USB de aplicaciones Java disponible aquí
RestFB (ninguno) Envoltorio de API de Facebook en Java. disponible aquí
Twitter4j (ninguno) Biblioteca de Java para la API de Twitter disponible aquí
API de Discord Java JDA Biblioteca de Java para la API de Discord disponible aquí
Nombre Acrónimo Paquetes de Java que contienen la API
Marco de activación de JavaBeans JAF javax.activation
JavaMail (ninguno) javax.mail
Servicio de mensajes Java JMS javax.jms
Caras de JavaServer JSF javax.faces
Nombre Acrónimo Disponible de
API de Java para RPC basado en XML JAX-RPC disponible aquí
API de XQuery para Java XQJ aqui y aqui
Nombre Acrónimo Disponible de
Configuración de dispositivo limitado conectado CLDC La implementación de referencia está disponible aquí
API de telefonía Java JTAPI disponible aquí
Tecnología Java STM32 STM32Java disponible aquí
Plataforma integrada MicroEJ MicroEJ disponible aquí

A continuación se muestra una lista muy incompleta, ya que la cantidad de API disponibles para la plataforma Java es abrumadora.

Plataformas de clientes enriquecidas
Bibliotecas compatibles con Office
Compresión
JSON
Motores de juego
Bibliotecas en tiempo real

Java en tiempo real es un término general para una combinación de tecnologías que permite a los programadores escribir programas que satisfagan las demandas de los sistemas en tiempo real en el lenguaje de programación Java.

La gestión de memoria sofisticada de Java, el soporte nativo para subprocesos y concurrencia, la seguridad de tipos y la simplicidad relativa han creado una demanda para su uso en muchos dominios. Sus capacidades se han mejorado para soportar las necesidades computacionales en tiempo real:

  • Java admite un modelo de subprocesamiento estrictamente basado en prioridades.
  • Debido a que los subprocesos de Java admiten prioridades, los mecanismos de bloqueo de Java admiten técnicas de evitación de inversión de prioridad, como la herencia de prioridad o el protocolo de límite de prioridad.

Para superar las dificultades típicas en tiempo real, la Comunidad Java introdujo una especificación para Java en tiempo real, JSR001. Han surgido varias implementaciones de la especificación en tiempo real resultante para Java (RTSJ), incluida una implementación de referencia de Timesys, WebSphere Real Time de IBM, Java SE Real-Time Systems de Sun Microsystems, [1] Aonix PERC o JamaicaVM de aicas.

El RTSJ abordó los problemas críticos al exigir una especificación mínima (solo dos) para el modelo de subprocesos (y permitir que otros modelos se conecten a la VM) y al proporcionar áreas de memoria que no están sujetas a la recolección de basura, junto con subprocesos que no son reemplazados por el recolector de basura. En cambio, estas áreas se administran mediante la administración de memoria basada en regiones.

Especificación en tiempo real para Java

La Especificación en tiempo real para Java (RTSJ) es un conjunto de interfaces y refinamientos de comportamiento que permiten la programación de computadoras en tiempo real en el lenguaje de programación Java. RTSJ 1.0 fue desarrollado como JSR 1 bajo el Proceso de la Comunidad Java, que aprobó el nuevo estándar en noviembre de 2001. RTSJ 2.0 se está desarrollando bajo JSR 282. Una versión preliminar está disponible en JSR 282 JCP Page. Puede encontrar más información en RTSJ 2.0

Bibliotecas de ventanas

La biblioteca de ventanas es un conjunto de clases disponibles en la API de C ++ en tiempo de ejecución de Streams Processing Language (SPL) y la API de operador de SPL Java ™. La biblioteca se utiliza para implementar operadores primitivos que necesitan ventanas siguiendo la semántica de la ventana SPL. El uso de la biblioteca de ventanas proporciona una política de ventanas coherente semántica entre los operadores y simplifica la implementación del operador.

SPL ofrece ventanas corredizas y abatibles. Ambos tipos de ventanas mantienen todos los datos entrantes en la memoria hasta que se activa su política de desalojo de tuplas. Utilice el soporte SPL para Windows cuando la funcionalidad requerida por el operador primitivo se pueda construir utilizando la semántica proporcionada por las construcciones de ventana SPL.

Un ejemplo de operador del SPL Standard Toolkit que utiliza la biblioteca y la sintaxis de ventanas es el Aggregateoperador. Un operador de ejemplo que almacena en búfer tuplas recientemente recibidas pero que no usa la biblioteca de ventanas y la sintaxis es el DeDuplicateoperador. Esta acción se produce porque este operador tiene una semántica de desalojo y activación diferente a la proporcionada por SPL. Este operador necesita mantener solo tuplas únicas y descarta todas las tuplas repetidas que se reciben dentro de una ventana de tiempo.

Con la biblioteca de ventanas, los desarrolladores pueden especificar diferentes políticas de desalojo y activación, pero pueden implementar las acciones de manejo de eventos independientemente de los detalles de la política de la ventana. Existen algunas diferencias al implementar operadores primitivos en C ++ y Java que aprovechan la cláusula de ventana SPL.

En la implementación de C ++, los desarrolladores no tienen la obligación de usar la biblioteca de la ventana (la práctica preferida es usar la biblioteca). Son libres de usar la API de generación de código de operador SPL solo para obtener la política de ventana especificada para una instancia de operador determinada. Luego, pueden generar código usando otros contenedores. Además, los desarrolladores pueden verificar las configuraciones de ventana válidas durante el tiempo de generación del código.

En la implementación de Java, los desarrolladores deben usar la biblioteca de ventanas. Esta acción se puede lograr registrando una clase que implemente com.ibm.streams.operator.window.StreamWindowListener<T>que maneja eventos generados por una ventana (com.ibm.streams.operator.window.StreamWindow<T>). Este uso es necesario porque los operadores de Java no se basan en la generación de código. Como resultado, las ventanas son administradas automáticamente por el tiempo de ejecución para garantizar la semántica de la ventana SPL. Los desarrolladores pueden verificar las configuraciones de ventana válidas durante el tiempo de ejecución al verificar la política de ventana asociada a un puerto de entrada determinado.

Bibliotecas de física
  • JBox2D
  • JBullet
  • dyn4j

Ver también

Notas

enlaces externos