interfaces de programmation d'applications (API) pour le langage de programmation Java :
- L'API Java de base officielle, incluse dans Android (Google), SE (OpenJDK et Oracle) et MicroEJ , constitue le noyau du langage Java. Ces packages (packages java.*) sont indispensables aux programmeurs Java pour pouvoir utiliser efficacement ce langage.
- Des API optionnelles peuvent être téléchargées séparément. Leurs spécifications sont définies par différentes organisations à travers le monde (Alljoyn, OSGi, Eclipse, JCP, ESR, etc.).
Voici une liste partielle des interfaces de programmation d'applications (API) pour Java.
| Nom | Acronyme | Package (s) Java contenant l'API |
|---|---|---|
| Activation de Jakarta | JAF | jakarta.activation |
| Courrier de Jakarta | (aucun) | jakarta.mail |
| Messagerie Jakarta | JMS | jakarta.jms |
| Visages de Jakarta | JSF | jakarta.faces |
| Nom | Acronyme | Disponible chez |
|---|---|---|
| Jakarta XML RPC | JAX-RPC | ici et ici |
| API XQuery pour Java | XQJ | ici et ici |
| Nom | Acronyme | Disponible chez |
|---|---|---|
| Configuration limitée des périphériques connectés | CLDC | L'implémentation de référence est disponible ici. |
| API de téléphonie Java | JTAPI | disponible ici |
| Technologie Java STM32 | STM32Java | disponible ici |
| Plateforme embarquée MicroEJ | MicroEJ | disponible ici |
La liste qui suit est très incomplète, car le nombre d'API disponibles pour la plateforme Java est impressionnant.
- bibliothèques compatibles avec Office
- Point d'intérêt Apache
- JXL - pour Microsoft Excel
- JExcel - pour Microsoft Excel
- Compression
- LZMA SDK, l'implémentation Java du SDK utilisé par le logiciel d'archivage de fichiers populaire 7-Zip ( disponible ici )
- JSON
- Moteurs de jeu
- Bibliothèques en temps réel
Le terme « Java temps réel » désigne un ensemble de technologies permettant aux programmeurs d'écrire, en langage Java, des programmes répondant aux exigences des systèmes temps réel.
La gestion sophistiquée de la mémoire de Java, sa prise en charge native du multithreading et de la concurrence, sa sécurité des types et sa relative simplicité ont engendré une forte demande pour son utilisation dans de nombreux domaines. Ses capacités ont été améliorées pour répondre aux besoins de calcul en temps réel.
- Java prend en charge un modèle de threading strict basé sur la priorité.
- Étant donné que les threads Java prennent en charge les priorités, les mécanismes de verrouillage Java prennent en charge les techniques d'évitement de l'inversion de priorité, telles que l'héritage de priorité ou le protocole de plafond de priorité.
Pour surmonter les difficultés typiques du temps réel, la communauté Java a introduit une spécification pour Java en temps réel, JSR001. Un certain nombre d'implémentations de la spécification temps réel résultante pour Java (RTSJ) ont émergé, notamment une implémentation de référence de Timesys, WebSphere Real Time d'IBM, Java SE Real-Time Systems de Sun Microsystems, [1] Aonix PERC ou JamaicaVM d'aicas.
Le RTSJ a résolu les problèmes critiques en imposant une spécification minimale (deux threads seulement) pour le modèle de threading (tout en autorisant l'intégration d'autres modèles dans la machine virtuelle) et en prévoyant des zones de mémoire non soumises au ramasse-miettes, ainsi que des threads non interrompables par ce dernier. Ces zones sont gérées par une gestion de la mémoire basée sur les régions.
Spécification temps réel pour Java
La spécification temps réel pour Java (RTSJ) est un ensemble d'interfaces et d'améliorations comportementales permettant la programmation temps réel en Java. La version 1.0 de RTSJ a été développée sous le nom de JSR 1 dans le cadre du processus de la communauté Java (JCP), qui a approuvé cette nouvelle norme en novembre 2001. La version 2.0 de RTSJ est en cours de développement sous le nom de JSR 282. Une version préliminaire est disponible sur la page JCP de JSR 282. Pour plus d'informations, consultez la page RTSJ 2.0.
- bibliothèques de fenêtrage
- Bibliothèques de physique
- JBox2D
- JBullet
- dyn4j