Article de reference

Liste des API Java

( Apprenez comment et quand supprimer ce message ) Il existe deux types d' interfaces de programmation d'applications (API) pour le langage de programmation Java : L'API Java de...

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.

NomAcronymeDescription et historique des versionsDisponible chezImagerie avancée JavaJAIUn ensemble d'interfaces prenant en charge un modèle de programmation de haut niveau permettant de manipuler facilement les images .Association pour la normalisation des plateformes embarquéesConsortium ESRiciObjets de données JavaJDOUne spécification de la persistance des objets Java .API AndroidGoogleiciJavaHelpUn système d'aide complet et extensible qui vous permet d'intégrer une aide en ligne dans les applets, les composants, les applications, les systèmes d'exploitation et les périphériques.disponible iciJava Media FrameworkJMFUne API permettant d'ajouter des éléments audio, vidéo et autres médias temporels aux applications et applets Java.Interface de nommage et de répertoire JavaJNDIUne API pour les services d'annuaire .Persistance de JakartaJPAUne spécification pour le mappage objet-relationnel .disponible iciAPI vocale JavaAPI JavaScriptCette API permet la synthèse vocale et la reconnaissance vocale .Java 3DJ3DUne API 3D basée sur un graphe de scène .disponible iciJava OpenGLJOGLUne bibliothèque wrapper pour OpenGL .disponible iciJava USB pour Windows(aucun)Communication USB des applications Javadisponible iciRestFB(aucun)Interface utilisateur pour l'API Facebook en Java.disponible iciTwitter4j(aucun)Bibliothèque Java pour l'API Twitterdisponible iciinformatiques et leurs paramètresdisponible iciGoyaveGoogleUn ensemble de bibliothèques Java essentielles pour les collections, la mise en cache, la prise en charge des types primitifs, et plus encore.disponible iciApache CommonsApacheUne collection de composants Java réutilisables, comprenant des utilitaires pour les collections, les mathématiques, les entrées/sorties et bien plus encore.disponible iciLog4jApacheUne bibliothèque de journalisation Java largement utilisée.disponible iciJUnitJUnitUn framework de test largement utilisé pour Java.disponible iciCaféine(aucun)Une bibliothèque de mise en cache haute performance pour Java.disponible iciLombok(aucun)Une bibliothèque Java qui réduit le code répétitif grâce aux annotations.disponible iciSLF4J(aucun)Une interface de journalisation simple pour Java, souvent utilisée avec Logback ou Log4j.disponible iciRénovation(aucun)Un client HTTP à typage statique pour Java et Android.disponible iciOkHttpCarréUn client HTTP pour Java doté de fonctionnalités telles que le regroupement de connexions et la compression GZIP.disponible iciGsonGoogleUne bibliothèque permettant de convertir des objets Java en JSON et inversement.disponible iciJacksonFasterXMLUne bibliothèque de traitement JSON haute performance.disponible iciKryoLogiciel ésotériqueUn framework de sérialisation de graphes d'objets rapide et efficace.disponible iciApache KafkaApacheUne plateforme de diffusion d'événements distribuée.disponible iciNetty(aucun)Un framework d'application réseau asynchrone piloté par les événements.disponible iciVert.xÉclipseUn ensemble d'outils réactifs pour la création d'applications distribuées.disponible iciSpring FrameworkPrintempsUn framework puissant pour la création d'applications Java.disponible iciMicronaut(aucun)Un framework léger pour la création de microservices et d'applications natives du cloud.disponible iciHiberner(aucun)Un puissant framework ORM (Object-Relational Mapping).disponible iciForge(aucun)Une API de modding populaire pour Minecraft Java Edition.disponible iciNeoForge(aucun)Une version dérivée de Forge, gérée par la communauté, pour le modding de Minecraft.disponible iciTissu(aucun)Une chaîne d'outils de modding Minecraft légère et modulaire.disponible iciÉdredon(aucun)Une version dérivée de Fabric, développée par la communauté et dotée de fonctionnalités supplémentaires.disponible ici
NomAcronymePackage (s) Java contenant l'API
Activation de JakartaJAFjakarta.activation
Courrier de Jakarta(aucun)jakarta.mail
Messagerie JakartaJMSjakarta.jms
Visages de JakartaJSFjakarta.faces
NomAcronymeDisponible chez
Jakarta XML RPCJAX-RPCici et ici
API XQuery pour JavaXQJici et ici
NomAcronymeDisponible chez
Configuration limitée des périphériques connectésCLDCL'implémentation de référence est disponible ici.
API de téléphonie JavaJTAPIdisponible ici
Technologie Java STM32STM32Javadisponible ici
Plateforme embarquée MicroEJMicroEJdisponible ici

La liste qui suit est très incomplète, car le nombre d'API disponibles pour la plateforme Java est impressionnant.

Plateformes client riches
bibliothèques compatibles avec Office
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