Chapitre 17. Réflexion, ou "Une classe nommée classe"
Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com
17.0 Introduction
La classe java.lang.Class et le paquetage de réflexion java.lang.reflect fournissent un certain nombre de mécanismes permettant de recueillir des informations auprès de la machine virtuelle Java. Connus collectivement sous le nom de réflexion, ces mécanismes te permettent de charger des classes à la volée, de trouver des méthodes et des champs dans les classes, d'en générer des listes et d'invoquer des méthodes sur des classes chargées dynamiquement. Il existe même un mécanisme qui te permet de construire une classe à partir de rien (en fait, à partir d'un tableau d'octets) pendant que ton programme s'exécute. C'est à peu près tout ce que Java te permet de faire pour accéder à la magie et aux secrets internes de la machine Java.
La Java elle-même est un grand programme, normalement écrit en C et/ou en C++, qui met en œuvre l'abstraction de la machine virtuelle Java. Tu peux obtenir les sources d'OpenJDK et d'autres JVM sur Internet, que tu pourrais étudier pendant des mois. Nous nous concentrons ici sur quelques aspects seulement, et uniquement du point de vue d'un programmeur utilisant les facilités de la JVM, et non sur son fonctionnement interne ; il s'agit là d'un détail d'implémentation qui peut varier d'une JVM d'un fournisseur à l'autre.
Je commencerai par le chargement ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access