Tutoriel sur la compréhension de la machine virtuelle Java
Alors que des frameworks apparaissent presque tous les jours, ajoutant de plus en plus d'abstractions et rendant, par conséquent, le travail du développeur beaucoup plus simple, la connaissance du fonctionnement de la JVM n'est plus autant diffusée qu'il y a une dizaine d'années. Pour preuve, aucun livre sur la machine virtuelle Java n'est sorti depuis le début des années 2000. Pour de nombreuses personnes, la JVM est une boîte noire et elles ne cherchent pas à comprendre ce qu'il se cache derrière cet outil magique. Bien que la JVM soit dans son ensemble extrêmement complexe, nous pouvons l'étudier en la découpant en plusieurs parties. De plus, je reste convaincu qu'apprendre comment fonctionne la JVM ou toute autre machine virtuelle fait de nous de meilleurs développeurs, que ce soit dans la compréhension du langage, mais aussi des performances.
Pour cette raison, j'ai décidé de consacrer une quarantaine de parties à la JVM, et d'une manière plus générale aux machines virtuelles.
Un article publié sur le Web a plusieurs avantages. Outre le fait d'être gratuit :
- il n'y a aucune limitation dans le nombre de pages et par conséquent les bouts de code seront complets et présentés sous une forme lisible ;
- toute erreur peut être corrigée rapidement ;
- le côté communautaire d'Internet pourra être utilisé pour améliorer le contenu, partager des connaissances, etc.
Notes importantes
- Tous les outils développés pour cet article ont uniquement un but éducatif.
- Tout le code présenté sera librement disponible sur Github. Chaque partie aura ses propres tag et branche.
- Sauf mention contraire, les termes bytecode et JVM feront respectivement référence au bytecode Java et à toute machine virtuelle Java respectant la Spécification de la JVM (JVMS).
Pour réagir au contenu de cet article, un espace de dialogue vous est proposé sur le forum 5 commentaires .
Lire l'article.Article lu fois.
Les deux auteurs
L'article
Publié le 24 mars 2015 - Mis à jour le 25 août 2016
Version en ligneLiens sociaux
Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants :