Java est un langage de programmation créé en 1995 par Sun Microsystems suite aux recherches, débutées en 1990, sur un projet d'environnement indépendant du couple système d'exploitation et matériel.

Profitant de la rapide progression de l'Internet et du facteur inhibiteur que constituait l'hétérogénéité des plateformes dans le secteur, le langage Java s'imposa en acteur incontournable dans la mesure ou il permit d'harmoniser le développement sur le World Wide Web et tous ses dérivées comme les intranet ou les extranet.

De plus, la politique de Sun Microsystems a favorisé l'expansion fulgurante de Java, en fournissant gratuitement les environnements de développement, les fameux JDK (Java Development Kit) et SDK (Software Development Kit) et surtout en favorisant l'octroi de licences d'utilisation à la plupart des intervenants majeurs de l'Internet, tels que Netscape, Microsoft ou encore Opera.

Le but de ce nouveau langage de programmation étant de créer des applications fonctionnant sur des réseaux en architecture client/serveur, nécessite, néanmoins, l'installation préalable d'un environnement applicatif, le JDK , sur un serveur ou sur une station de travail.

La portabilité du langage Java résulte du fait que le code source d'un programme est compilé pour produire un pseudo-code (ou byte-code) contenu dans un fichier classe portant l'extension .class. Ensuite, lors de la phase d'interprétation par la Machine Virtuelle Java (JVM : Java Virtual Machine), ce fichier est soumis à l'éditeur de liaison (linker) afin d'assurer la compatiblité avec le système d'exploitation hôte et mis en relation avec la bibliothèque de classes Java pour finalement être exécuté par la machine cliente. La JVM, l'éditeur de liaison, et la bibliothèques de classes sont des composants de l'environnement d'exécution Java (JRE : Java Runtime Environment) devant être installée sur la plateforme cliente.
Cette faculté d'adaptation permet, donc, à un programme Java de pouvoir être implémenter sur toutes les plateformes comme les ordinateurs personnels équipés de Microsoft Windows ou de Linux, sur des stations de travail Unix ou encore sur des PDA (Personal Digital Assistant), ou encore sur la prochaîne génération de téléphones portables et à condition que le JRE ait été installé au préalable.

Java est un langage orienté objet, c'est-à-dire qu'il possède la faculté, à l'image du C++ ou du Visual Basic, de manipuler des objets ou plus précisément des instances de classes, définies dans les différents package accompagnant un SDK (Software Development Kit).

La fiabilité d'un programme Java tient au fait que certaines fonctionnalités ont été expurgées afin d'éviter certaines erreurs systèmes récurrentes dans la programmation à partir du C++ notamment.
Par exemple, l'allocation de mémoire par des pointeurs a été purement et simplement abandonnée, la gestion de la mémoire étant, désormais, assurée automatiquement par Java.
De cette manière, on évite également, toutes manipulations nuisibles de la mémoire.

D'ailleurs, l'interprétation d'un programme Java fait appel à plusieurs caractéristiques spécifiques et complexes de Java qui se complémentant, assurent aux utilisateurs, une sécurité quasi-absolue. Autrement dit, des programmeurs malveillants ne peuvent s'appuyer sur le langage Java pour concevoir et inoculer des virus sur des stations clientes ou des serveurs d'un réseau.

Non seulement, l'universalité de Java fait de ce langage un support efficace pour tous types d'applications à l'instar du C, mais en plus, dépassant sa mission initiale, le langage Java tend à devenir le fondement d'un nouveau modèle d'architecture des systèmes d'information.

De nombreux éditeurs spécialisés appelés Environnement de Développement Intégré (IDE : Integrated Development Environment), intégrant un compilateur, un débogueur, ainsi qu'une vaste panoplie d'assistants, permettent de créer de puissantes applications Java, en outre, il est également possible d'utiliser notepad ou n'importe quel éditeur de texte pour écrire ses propres programmes Java puis de les compiler (javac.exe) et de les exécuter (java.exe) avec le J2SDK de Sun Microsystems.