Java est le nom de marque d'une technique développée par Sun Microsystems : la « technologie Java™ ». Elle correspond à plusieurs produits et spécifications de logiciels qui, ensemble, constituent un système pour développer et déployer des applications. Java est utilisée dans une grande variété de plates-formes depuis les systèmes embarqués et les téléphones mobiles jusqu’aux serveurs, les applications d’entreprise, les superordinateurs et dans une moindre mesure pour les interfaces graphiques comme les applets Java du Web.
Depuis des années, Sun Microsystems appelle Java la « technologie Java » dans son ensemble. En pratique, beaucoup de programmeurs utilisent le mot « Java » pour désigner son langage de programmation, tandis que la plate-forme d’exécution est appelée « JRE » Java Runtime Environment, environnement d’exécution Java) et le système de compilation : « JDK » (Java Development Kit) plutôt que « compilateur Java ». Java est sous licence GNU GPL depuis novembre 2006.
Java est un des termes les plus connus du monde de l'informatique et de l'Internet, que ce soit des professionnels comme du grand public. Sa notoriété est telle que Sun a décidé de l'utiliser pour son symbole boursier au Nasdaq, symbole qui était SUNW à l'origine, et est devenu JAVA.
Java est une technologie particulièrement bien indiquée pour tout ce qui concerne les environnements informatiques de postes hétérogènes reliés ou non par un réseau de type Internet.
Cette technologie est également très utilisée dans le rodage et la mise en oeuvre des bonnes pratiques de la profession informatique elle même : tests avec par exemple JUnit, organisation et manipulation des projets informatiques avec Maven, Ant, Eclipse ou Netbeans, nouveaux langages ou même langages existants qui trouvent appui sur le JRE tels Groovy, Scala, JRuby, etc.
Via son langage intermédiaire (bytecode), la machine virtuelle Java peut exécuter différents langages de programmation (après compilation) :
Le langage Java a débuté dans les années 1990 avec James Gosling qui souhaitait développer un langage de programmation indépendant de la plate-forme hardware. Oak (Traduction : Chêne) fut un échec.
Par la suite Bill Joy (co-fondateur de la firme Sun Microsystems) proposa une nouvelle version d’Oak appelée « Java » (mot d’argot américain signifiant café (l’île de Java en produit, les programmeurs ont la réputation d’en consommer beaucoup), l’équivalent en argot français est kawa). Son but était de pallier une déficience des langages de programmation en produisant un langage conçu pour des machines et des logiciels hétérogènes qu’englobe Internet. On trouve gratuitement sur le marché une machine virtuelle (Java Virtual Machine), un compilateur ainsi que de nombreux outils pour permettre la conquête du Web qui devra être celle de Java.
Après de très nombreuses modifications visant à améliorer le système, Java est devenu plus qu’une simple solution Internet, c’est dorénavant un langage utilisé pour toutes sortes de développements.
Java naquit en même temps que le Web, et toutes les qualités que requiert le Web étaient implémentées dans Java :
Un navigateur Java apparut dès 1994 (HotJava) qui, tout en intégrant Java, était capable de faire fonctionner les applets Java (applications Java exécutées par le navigateur).
Netscape fut l’un des éléments essentiels dans la création et l’implantation de Java dans le parc informatique, en intégrant Java dans son logiciel.
L'idée de départ a été de réduire le travail du serveur ainsi que la quantité de données transmises via le réseau, en confiant davantage de tâches à chaque ordinateur client.
Sun a annoncé le 13 novembre 2006 que l’environnement Java serait sous licence libre GNU GPL (avec extension « ClassPath ») par étapes : immédiatement pour le code source du compilateur Java ainsi que pour celui de la machine virtuelle Java HotSpot. En mai 2007, lors de la conférence JavaOne, c’est l’ensemble du code Java qui a été mis en Open Source (à l’exception de quelques rares parties fournies en format binaire pour l’instant encore). L’exception « ClassPath » permet d’utiliser cette JVM GPL sans pour autant que les applications soient elles aussi nécessairement sous licence GPL. Quelques temps auparavant Sun avait déjà mis en Open Source son serveur d’application Java EE 5 complet GlassFish.