W3docs

Introduction à la programmation Java

Découvrez ce qu'est Java, comment la JVM et le JDK s'articulent, et le rôle de Java dans le développement logiciel moderne.

Java est un langage de programmation généraliste, statiquement typé et orienté objet, conçu pour la portabilité. Les programmes sont compilés en bytecode qui s'exécute sur la Java Virtual Machine (JVM), ce qui permet au même fichier .class de fonctionner sous Windows, macOS, Linux ou tout autre système disposant d'une JVM compatible. Cette portabilité — résumée par le slogan original « write once, run anywhere » — reste la caractéristique fondamentale du langage.

Ce chapitre présente le langage, la plateforme et les éléments de l'écosystème Java que vous rencontrerez dans le reste du livre.

Ce qu'est Java

Java a été publié par Sun Microsystems en 1995 et est désormais géré par Oracle. Il emprunte sa syntaxe à C et C++, mais remplace la gestion manuelle de la mémoire par un ramasse-miettes automatique, et abandonne les fonctionnalités (comme l'arithmétique de pointeurs et l'héritage multiple de classes) qui sont fréquemment source de bugs dans les langages de bas niveau. Le résultat est un langage rapide à apprendre, difficile à faire planter, et bien adapté aux applications pérennes maintenues par de grandes équipes.

Caractéristiques clés que vous remarquerez tout au long de ce livre :

  • Statiquement typé. Chaque variable possède un type connu à la compilation, ce qui permet au compilateur de détecter de nombreuses erreurs avant même l'exécution du programme.
  • Orienté objet. Le code est organisé autour de classes qui associent des données aux méthodes qui les manipulent.
  • Portable. Le code source est compilé en bytecode neutre vis-à-vis de la plateforme, exécuté par n'importe quelle JVM.
  • Géré en mémoire. Le ramasse-miettes récupère les objets auxquels vous ne faites plus référence.
  • Multi-thread. Les threads, les verrous et les utilitaires de concurrence modernes font partie de la bibliothèque standard.
  • Rétrocompatible. Les programmes écrits pour d'anciennes versions de Java s'exécutent presque toujours sans modification sur les versions plus récentes.

Où Java est utilisé

La JVM fonctionnant sur presque tous les serveurs et plateformes de bureau, Java s'est répandu dans presque tous les domaines du développement logiciel :

  • Applications côté serveur — la plupart des grands backends e-commerce, bancaires et d'entreprise utilisent Java (souvent avec Spring, Jakarta EE ou Quarkus).
  • Applications Android — la bibliothèque standard d'Android est en grande partie une API Java, même lorsque les applications sont écrites en Kotlin.
  • Big data et streaming — Hadoop, Spark, Kafka, Flink et Elasticsearch sont écrits sur la JVM.
  • Outillage et systèmes de build — Maven, Gradle, Jenkins et de nombreux outils CI fonctionnent sous Java.
  • Embarqué et IoT — cartes à puce, terminaux de point de vente et contrôleurs industriels.

JDK, JRE et JVM

Ces trois acronymes désorientent les débutants plus que tout autre aspect de Java. Voici le détail :

  • JVM (Java Virtual Machine) — le moteur d'exécution qui charge le bytecode et l'exécute. Chaque système d'exploitation embarque sa propre JVM native.
  • JRE (Java Runtime Environment) — la JVM accompagnée des bibliothèques de classes principales nécessaires à l'exécution d'un programme Java. C'est le minimum requis pour exécuter du code Java.
  • JDK (Java Development Kit) — le JRE auquel s'ajoutent les outils nécessaires pour compiler et déboguer du code Java : javac (compilateur), jshell (REPL), javadoc (documentation), et d'autres.

Pour écrire du Java, vous installez le JDK ; le JRE est inclus à l'intérieur, vous n'avez donc pas à les installer séparément. Le JDK d'Oracle n'est qu'une option — OpenJDK est l'implémentation de référence libre et open source, et des distributions telles qu'Eclipse Temurin, Amazon Corretto et Azul Zulu packagisent le même OpenJDK avec leur propre support à long terme. N'importe laquelle fonctionnera avec le code de ce livre ; choisissez-en une et passez à la suite.

Vous configurerez tout cela pas à pas dans Java Install et Java Environment Setup.

Un premier aperçu d'un programme Java

Vous écrirez un Hello World complet dans Java Hello World Program. Pour l'instant, voici à quoi ressemble un programme Java minimal — le même code, compilé et exécuté sur le serveur :

java— editable, runs on the server

Quelques points à remarquer sans se soucier de chaque détail pour l'instant :

  • Tout programme vit à l'intérieur d'une classe (ici, Hello).
  • L'exécution démarre dans une méthode appelée main avec la signature public static void main(String[] args).
  • Les instructions se terminent par des points-virgules, et les blocs sont délimités par des accolades { ... }.
  • System.out.println écrit une ligne sur la sortie standard.

Les versions de Java et le rythme de publication

Depuis Java 9 (2017), une nouvelle version majeure est publiée tous les six mois, avec une version Long-Term Support (LTS) tous les deux ans. Les versions LTS actuelles que vous rencontrerez le plus souvent en entreprise sont Java 17 et Java 21. Ce livre est écrit pour Java 21 et mentionne les versions antérieures uniquement lorsque la différence est significative.

Ce que ce livre couvre

Les chapitres qui suivent vous guident depuis une installation fraîche du JDK jusqu'aux fonctionnalités modernes du langage : les bases de la syntaxe, le flux de contrôle, la programmation orientée objet, le framework des collections, les exceptions, les génériques, les lambdas et les streams, les E/S, la concurrence, JDBC, les modules, et les fonctionnalités plus récentes comme les records, les types scellés, le pattern matching et les threads virtuels. La barre latérale regroupe les chapitres en 28 parties — lisez-les dans l'ordre pour un parcours guidé, ou sautez directement à ce dont vous avez besoin.

Practice

Pratique
Quelle affirmation concernant Java est correcte ?
Quelle affirmation concernant Java est correcte ?
Was this page helpful?