Plate-forme Java

Plate-forme Java

Lo plate-forme Java est composeé d’une partie logicielle qui s’exécute sur de nombreux plates-formes matérielles et différents OS.
Le schéma ci-dessus présente les différents composant de la plate-forme.

Voici les principaux composants :

  • Machine virtuelle JVM
  • API Java composée de :

API de base
API d’accès aux données
API de gestion des interfaces des applications utilisateur

  • Outils de déploiement des applications
  • Outils d’aide au développement

JVM

La machine virtuelle est la base de la plateforme Java et nécessaire pour exécuter des programmes. Elle est disponible pour de nombreux types d’ordinateurs et OS.
le schéma suivant montre le rôle central de la JVM dans l’exécution d’un programme Java.

Bytecode Java

La JVM s’occupe :

  • du chargement des classes et du bytecode qui doit être interprété
  • de la gestion et l’optimisation de l’espace mémoire (ramasse-miettes)
  • de la sécurité pour vérifier l’intégrité du code Java au chargement du programme (mémoire initialisée, types correctes des variables, pas de manipulation inopportun des pointeurs …)
  • de l’interfaçage avec du code natif (exemple code écrit en C) : la plupart des APIs de base Java font appel à du code natif fourni avec le JRE afin d’intéragir avec le système hôte.

Enfin, la JVM est optimisée pour apporter un gain de performance pour l’interprétation du bytecode et ce grâce au compilateur JIT (Just In Time) ou HotSpot (processus client & serveur).

APIs Java

API de base
  • les éléments essentiels tels que les objets, les chaines, les nombres, entrées/sorties …
  • les applets pour les pages Web
  • le réseau avec les protocols comme FTP, HTTP, TCP/IP …
  • ect. …
API d’accès aux données et d’intégration avec l’existant

Les APIs d’intégration permettent de gérer :

  • des application client/serveur dans une architecture distribuée permettant la communication locale ou distante entre les objets et ce grâce à l’API RMI (Remote Method Invocation) ou bien l’API CORBA (Common Object Request Broker Architecture) Api en charge d’assurer la compatibilité des objets Java avec les autres objets issus d’autres langages comme C, C++, Python, COBOL …
  • l’accès aux bases de données via l’API JDBC (Java Database Connectivity)
  • l’accés aux données stockées dans les services d’annuaire via le protocole LDAP (Lightweight Directory Access Protocol) : par exemple l’Active Directory de Windows via l’Api JNDI (Java Naming and Directory Interface.
API de gestion des interfaces des applications utilisateur

Ces APIs permettent de gérer :

  • la conception des interfaces graphiques avec l’API AWT (Abstract Window Toolkit)
  • le son, avec la création, lecture et manipulation des fichiers son sous différents formats (.wav, .midi, …)
  • la saisie des données textuelles ou autres moyens que le clavier : par exemple la reconnaissance vocale ou de reconnaissance d’écriture avec l’API Input Method Framework.
  • Ect. …
API de déploiement des applications
  • Java Web Start : outil destiné à faciliter le déploiement et l’installation des applications Java autonomes. Les applis sont disponibles sur le serveur et les utilisateurs peuvent lancer l’installation sur leur machine via la console Java Web start et de manière automatique.
  • Java Plug-in : Outil permettant le bon fonctionnement des Applets Java avec la JVM 8.
Outils d’aide au développement

Les principaux outils permettent de :

  • compiler (javac.exe sous windows, javac.sh sous mac) les fichiers .java en .class
  • générer la documentation (javadoc.exe)
  • de lancer l’exécution (java.exe)

Différences entre JDK et JRE

JRE (Java SE Runtime Environment) : permet l’exécution d’applets et d’applications Java et contient :

  • machine virtuelle (JVM)
  • bibliothèque standard (API)

JDK (Java SE Development Kit) : contient les outils de développement :

  • JRE
  • compilateur
  • débogueur
  • générateur de documents

Leave a Comment