Java est un langage de programmation orienté objet créé par James Gosling et Patrick Naughton, avec le soutien de Bill Joy, de Sun Microsystems. Java a été officiellement présenté le 23 mai 1995 au SunWorld. La société Oracle racheta alors la société Sun en 2009. La particularité et l’intérêt de Java réside dans sa portabilité entre les différents systèmes d’exploitations tels que Unix, Windows, ou MacOS.
Quelles sont les caractéristiques de Java ? Java possède un certain nombre de caractéristiques qui ont largement contribué à son énorme succès :
Java est interprété
le source est compilé en pseudo code puis exécuté par un interpréteur Java ( la Java Virtual Machine (JVM))
Java est indépendant de toute plate−forme
il n’y a pas de compilation spécifique pour chaque plate forme. Le code reste indépendant de la machine sur laquelle il s’exécute. Il est possible d’exécuter des programmes Java sur tous les environnements qui possèdent une Java Virtual Machine. Cette indépendance est assurée au niveau du code source grâce à Unicode et au niveau du byte code.
Java est orienté objet.
Java est simple
le choix de ses auteurs a été d’abandonner des éléments mal compris ou mal exploités des autres langages tels que la notion de pointeurs (pas d’incident en manipulant directement la mémoire), de l’héritage multiple et de la surcharge des opérateurs .
Java est fortement typé
toutes les variables sont typées et il n’existe pas de conversion automatique qui risquerait une perte de données.
Java assure la gestion de la mémoire
l’allocation de la mémoire pour un objet est automatique à sa création et Java récupère automatiquement la mémoire inutilisée grâce au garbage collector qui restitue les zones de mémoire laissées libres suite à la destruction des objets.
Java est sûr
la sécurité fait partie intégrante du système d’exécution et du compilateur. Un programme Java planté ne menace pas le système d’exploitation. Il ne peut y avoir d’accès direct à la mémoire. L’accès au disque dur est réglementé dans une applet.
Les programmes fonctionnant sur le Web sous soumis aux restrictions suivantes dans la version 1.0 de Java :
- aucun programme ne peut ouvrir, lire, écrire ou effacer un fichier sur le système de l’utilisateur
- aucun programme ne peut lancer un autre programme sur le système de l’utilisateur
- toute fenêtre créée par le programme est clairement identifiée comme fenêtre Java, ce qui interdit par exemple la création d’une fausse fenêtre demandant un mot de passe
- Les programmes ne peuvent pas se connecter à d’autres sites Web que celui dont il provient.
Java est économe
le pseudo code a une taille relativement petite car les bibliothèques de classes requises ne sont liées qu’à l’exécution.
Java est multitâche
il permet l’utilisation de threads qui sont des unités d’exécution isolées. La JVM elle même utilise plusieurs threads.