Java est un langage de programmation orienté objet à usage général développé par Sun Microsystems (acquis plus tard par Oracle). Sa première version publique a eu lieu en 1995. Aujourd'hui, Java est l'un des langages les plus utilisés au monde : il alimente les systèmes d'entreprise, les applications Android, les services Web, les appareils embarqués et les plates-formes cloud.
Langage généraliste orienté objet
Développé par Sun Microsystems → acquis par Oracle
Première sortie : 1995
Une des langues les plus utilisées au monde
Pouvoirs : systèmes d'entreprise, Android, services web, appareils embarqués, cloud
L'idée clé : écrivez une fois, exécutez n'importe où

Le principe fondamental de Java est la portabilité. Le code source n'est pas compilé en code machine pour un processeur spécifique ; au lieu de cela, il est compilé en bytecode – une représentation intermédiaire. Le bytecode est exécuté par la JVM, qui est disponible sur toutes les principales plates-formes.

Cliquez pour voir où s'exécute un fichier .jar ▶
BonjourMonde.jar
🪟Fenêtres
🐧Linux
🍎macOS
WORA (Write Once, Run Anywhere) est la devise de Java depuis 1995. Elle est toujours d'actualité : un fichier .jar construit sous Windows fonctionnera inchangé sur un serveur Linux.
Comment fonctionne Java : de la source à l'exécution

L'exécution d'un programme Java comporte trois étapes. Vous écrivez d’abord le code source dans des fichiers .java. Ensuite, le compilateur javac le convertit en bytecode (fichiers .class). Enfin, la JVM interprète ou compile JIT le bytecode en instructions machine natives.

Cliquez pour animer le pipeline de compilation ▶
.Java
Code source
javac
Compilateur
.classe
Bytecode
JVM
Machine virtuelle
Sortir
Résultat
JDK, JRE et JVM — Quelle est la différence

Trois termes sont souvent confondus, mais ils sont imbriqués : JVM est le cœur qui exécute le bytecode ; JRE ajoute les bibliothèques standards ; JDK ajoute les outils de compilateur et de développement en plus.

Passez la souris sur un anneau pour voir ce qu'il contient
JDKJREJVM
Passez la souris sur un anneau pour voir ce qu'il contient
Pour le développement, installez toujours le JDK – il comprend tout ce dont vous avez besoin. À partir de Java 11, Oracle ne fournit plus de JRE autonome.
Versions Java et versions LTS

Depuis 2017, Java suit une cadence de publication prévisible : une nouvelle version tous les 6 mois. Certaines versions sont désignées LTS (Long-Term Support) et reçoivent des mises à jour de sécurité pendant plusieurs années.

Cliquez sur une version pour voir ses principales fonctionnalités
Où Java est utilisé

Java est présent dans pratiquement tous les domaines du développement logiciel, des systèmes bancaires et applications Android aux pipelines Big Data et aux plateformes cloud.

Cliquez sur une carte pour en savoir plus
Fonctionnalités linguistiques

Java possède plusieurs caractéristiques qui le distinguent. Un typage statique fort élimine toute une classe de bugs au moment de la compilation. Le Garbage Collector libère les développeurs de la gestion manuelle de la mémoire. La prise en charge multithread intégrée et le vaste écosystème Maven Central complètent le tableau.

💀 = objets inaccessibles (libérés par GC) | ✅ = objets vivants
idle
Stack
Thread.main() {
}
Heap
Young generation
Eden
S0
S1
Old generation (Tenured)
allocated
0
minor GC
0
major GC
0
freed
0
Java se classe systématiquement parmi les trois langages de programmation les plus demandés dans tous les principaux index (TIOBE, RedMonk, Stack Overflow). La connaissance de Java ouvre les portes aux rôles d'entreprise, Android, cloud et systèmes distribués.