Quant à Java, il s'agit d'un langage de programmation à part entière. Il a été inventé dans les laboratoire de SUN par Bill Joy et James Gosling. L'objectif premier de ce langage était définir un langage de programmation portable sur toutes les plates-formes existante (1990). Avec l'intérêt grandissant d'Internet dans les années 1993, ce langage, de par sa portabilité, se métamorphose en langage dédié à Internet. Dans les années 1993, SUN diffuse le premier browser HotJava qui permet d'exécuter des applets Java i.e. des programmes Java encapsulés dans des pages WEB . L'attrait des applets Java , conduit NetScape et MicroSoft à inclure dans leur propre browser, les composants permettant d'exécuter les applets. Et c'est par le biais d'Internet, que le langage Java a connu un succès qu'on peut qualifier de foudroyant. En effet, bien peu de langages informatiques ont connu un tel succès en si peu de temps.
Les concepteurs de Java qualifient leur langage de simple, orienté objet, familier, distribué, interprété, robuste, sûre, portable, dynamique et multithread.
Le langage Java est fortement typé ; il élimine bien des erreurs d'incohérence de type à la compilation. La suppression de la manipulation des pointeurs permet également de réduire de manière importante les erreurs. Un glaneur de mémoire rendu libre permet de décharger le programmeur d'une gestion fastidieuse de la mémoire.
Destiné pour des applications réseaux, la sécurité dans Java est un aspect primordial. Le fait de pas pouvoir manipuler les pointeurs et donc d'accéder à des zones mémoire sensibles diminue fortement l'introduction des virus informatiques.
Java ne supprime pas tous les problèmes de sécurité mais les réduit fortement. Un ensemble de garde fous sont placés entre l'interprétation du code Java et la réalisation de l'instruction (Verifier, Class Loader, Security Manager) pour contrôle au mieux l'exécution du code Java.
De nos jours, les applications possèdent un haut degré de parallélisme : il faut pouvoir écouter une musique, tout en voyant une animation graphique etc. Java permet le mutlithreading de manière simple.