Lista de APIs Java - List of Java APIs

Existem dois tipos de interfaces de programação de aplicativos (APIs) da linguagem de programação Java :

  • O núcleo oficial da API Java, contido no Android (Google), SE (OpenJDK e Oracle), MicroEJ. Esses pacotes (pacotes java. *) São os principais pacotes da linguagem Java, o que significa que os programadores que usam a linguagem Java tiveram que usá-los para fazer qualquer uso valioso da linguagem Java.
  • APIs opcionais que podem ser baixados separadamente. As especificações dessas APIs são definidas de acordo com muitas organizações diferentes no mundo (Alljoyn, OSGi, Eclipse, JCP, ESR, etc.).

A seguir está uma lista parcial de interfaces de programação de aplicativos (APIs) para Java.

APIs

Nome Acrônimo Descrição e histórico de versão disponível a partir de
Java Advanced Imaging JAI Um conjunto de interfaces que suportam um modelo de programação de alto nível que permite manipular imagens facilmente.
Associação para a padronização de plataformas embarcadas Consórcio ESR aqui
Objetos de Dados Java JDO Uma especificação de persistência de objeto Java .
API Android Google aqui
JavaHelp Um sistema de ajuda extensível e completo que permite incorporar ajuda online em miniaplicativos, componentes, aplicativos, sistemas operacionais e dispositivos. disponivel aqui
Java Media Framework JMF Uma API que permite que áudio, vídeo e outras mídias baseadas em tempo sejam adicionadas a aplicativos e miniaplicativos Java.
Interface de nomenclatura e diretório Java JNDI Uma API para serviços de diretório .
Java Persistence API JPA Uma especificação para mapeamento objeto-relacional . JSR 338
API Java Speech JSAPI Esta API permite síntese e reconhecimento de fala .
Java 3D J3D Uma API 3D baseada em gráfico de cena . disponivel aqui
Java OpenGL JOGL Uma biblioteca de wrapper para OpenGL . disponivel aqui
Java USB para Windows (Nenhum) Uma comunicação USB de aplicativos Java disponivel aqui
RestFB (Nenhum) Wrapper da API do Facebook em Java. disponivel aqui
Twitter4j (Nenhum) Biblioteca Java para a API do Twitter disponivel aqui
Discord Java API JDA Biblioteca Java para a Discord API disponivel aqui
Nome Acrônimo Pacote (s) Java que contém a API
Estrutura de ativação JavaBeans JAF javax.activation
JavaMail (Nenhum) javax.mail
Java Message Service JMS javax.jms
JavaServer Faces JSF javax.faces
Nome Acrônimo disponível a partir de
API Java para RPC baseado em XML JAX-RPC disponivel aqui
API XQuery para Java XQJ aqui e aqui
Nome Acrônimo disponível a partir de
Configuração de dispositivo limitado conectado CLDC A implementação de referência está disponível aqui
API Java Telephony JTAPI disponivel aqui
Tecnologia STM32 Java STM32Java disponivel aqui
Plataforma incorporada MicroEJ MicroEJ disponivel aqui

A seguir está uma lista muito incompleta, pois o número de APIs disponíveis para a plataforma Java é impressionante.

Plataformas de cliente rico
Bibliotecas compatíveis com Office
Compressão
JSON
Motores de jogo
Bibliotecas em tempo real

Java em tempo real é um termo abrangente para uma combinação de tecnologias que permite aos programadores escrever programas que atendam às demandas de sistemas de tempo real na linguagem de programação Java.

O gerenciamento de memória sofisticado do Java, o suporte nativo para encadeamento e simultaneidade, segurança de tipo e relativa simplicidade criaram uma demanda para seu uso em muitos domínios. Seus recursos foram aprimorados para oferecer suporte às necessidades computacionais em tempo real:

  • Java oferece suporte a um modelo de threading baseado em prioridade estrita.
  • Como os encadeamentos Java oferecem suporte a prioridades, os mecanismos de bloqueio Java oferecem suporte a técnicas de prevenção de inversão de prioridade, como herança de prioridade ou protocolo de teto de prioridade.

Para superar as dificuldades típicas de tempo real, a Comunidade Java introduziu uma especificação para Java em tempo real, JSR001. Uma série de implementações da Especificação em tempo real resultante para Java (RTSJ) surgiram, incluindo uma implementação de referência da Timesys, WebSphere Real Time da IBM, Java SE Real-Time Systems da Sun Microsystems, [1] Aonix PERC ou JamaicaVM da aicas.

O RTSJ abordou os problemas críticos, exigindo uma especificação mínima (apenas duas) para o modelo de threading (e permitindo que outros modelos sejam conectados à VM) e fornecendo áreas de memória que não estão sujeitas à coleta de lixo, junto com threads que não são impedidos pelo coletor de lixo. Em vez disso, essas áreas são gerenciadas usando gerenciamento de memória baseado em região.

Especificação em tempo real para Java

A Especificação em Tempo Real para Java (RTSJ) é um conjunto de interfaces e refinamentos comportamentais que permitem a programação de computador em tempo real na linguagem de programação Java. RTSJ 1.0 foi desenvolvido como JSR 1 sob o Java Community Process, que aprovou o novo padrão em novembro de 2001. RTSJ 2.0 está sendo desenvolvido sob JSR 282. Uma versão de rascunho está disponível em JSR 282 JCP Page. Mais informações podem ser encontradas em RTSJ 2.0

Bibliotecas em janelas

A biblioteca de janelas é um conjunto de classes disponíveis no Streams Processing Language (SPL) Runtime C ++ API e no SPL Java ™ Operator API. A biblioteca é usada para implementar operadores primitivos que precisam de janelas seguindo a semântica da janela SPL. O uso da biblioteca de janelas fornece uma semântica de política de janela consistente entre os operadores e simplifica a implementação do operador.

A SPL oferece janelas basculantes e deslizantes. Ambos os tipos de janelas mantêm todos os dados de entrada na memória até que sua política de despejo de tupla seja acionada. Use o suporte SPL para janelas quando a funcionalidade exigida pelo operador primitivo puder ser construída usando a semântica fornecida pelas construções de janela SPL.

Um exemplo de operador do SPL Standard Toolkit que usa a biblioteca e sintaxe de janelas é o Aggregateoperador. Um operador de exemplo que armazena em buffer tuplas recentemente recebidas, mas que não usa a biblioteca e a sintaxe de janelas, é o DeDuplicateoperador. Esta ação ocorre porque este operador tem uma semântica de despejo e gatilho diferente das fornecidas pela SPL. Este operador precisa manter apenas tuplas exclusivas e descarta todas as tuplas repetidas que são recebidas dentro de uma janela de tempo.

Com a biblioteca de janelas, os desenvolvedores podem especificar diferentes políticas de despejo e gatilho, mas podem implementar as ações de tratamento de eventos independentemente dos detalhes da política da janela. Existem algumas diferenças ao implementar operadores primitivos em C ++ e Java que aproveitam a cláusula de janela SPL.

Na implementação C ++, os desenvolvedores não têm obrigação de usar a biblioteca de janelas (a prática preferida é usar a biblioteca). Eles podem usar a API de geração de código do operador SPL apenas para obter a política de janela especificada para uma determinada instância do operador. Então, eles podem gerar código usando outros contêineres. Além disso, os desenvolvedores podem verificar as configurações de janela válidas durante o tempo de geração de código.

Na implementação Java, os desenvolvedores devem usar a biblioteca de janelas. Esta ação pode ser alcançada registrando uma classe que implementa com.ibm.streams.operator.window.StreamWindowListener<T>que trata os eventos gerados por uma janela (com.ibm.streams.operator.window.StreamWindow<T>). Esse uso é necessário porque os operadores Java não são baseados na geração de código. Como resultado, as janelas são gerenciadas automaticamente pelo tempo de execução para garantir a semântica da janela SPL. Os desenvolvedores podem verificar se há configurações de janela válidas durante o tempo de execução, verificando a política de janela associada a uma determinada porta de entrada.

Bibliotecas de física
  • JBox2D
  • JBullet
  • dyn4j

Veja também

Notas

links externos