Benchmarking et optimisations en Java

Introduction

Contexte

Ce site s'inscrit dans le cadre de la formation Ingénieurs 2000, dispensée en 3 ans.

Il est demandé aux élèves de 3è me année de présenter un sujet technique s'écartant ou approfondissant des connaissances inculquées tout au long du cursus.

Ces exposés sont encadrés et dirigés par Dominique Revuz, directeur de l'UFR Ingénieurs2000 de Marne-la-Vallée, et par Etienne Duris, responsable de la filière Informatique et Réseaux.

Pourquoi ce sujet ?

Je me suis naturellement orienté vers le langage Java pour mon choix d'exposé, son apprentissage ayant été une priorité et une dominante au cours de mes études au sein de l'école Ingénieurs 2000.

Nos connaissances dans ce domaine étant très poussées, je trouvais intéressant d'extrapôler et de s'appliquer à déterminer si un langage de haut niveau tel que le Java se prêtait au benchmarking et si oui, de quelle manière. Dans cette perspective, les optimisations utiles et inutiles que peuvent effectuer les développeurs sont mises en relief par les résultats obtenus après l'exécution de notre benchmark.

Contenu du site

Cette présentation est divisée en trois parties :

La seconde partie présente le fonctionnement de la machine virtuelle Java, affectueusement nommée HotSpot dans sa version Sun.

Prérequis

Afin de saisir les notions abordées ici, il est important de connaître le fonctionnement basique du langage Java, et accessoirement, d'être particulièrement curieux et prêt à s'investir personnellement pour découvrir les arcanes de ce merveilleux langage.