SlideShare uma empresa Scribd logo
1 de 4
Comme mentionnédanslapremière partie de cette série d’articlessurlaJVM,le bytecode
généré parun compilateurstatique,estchargé dans laJVMgrâce aux chargeursde classe.
Ensuite,leditcode écritenlangage intermédiaire noncompréhensible parle microprocesseur,
estinterprété ligneparligne parl’interpréteurqui faitpartie de l’architecture de laJVM,ledit
code est transformé encode assembleurpourêtre reconnuparle microprocesseur,puisen
code machine,pourêtre enfinexécuté.Cependant,pendantl’exécution,laJVMcompte le
nombre de foisqu’uncode estexécuté,si elle constate l’appel fréquentd’uncode,celui-ci est
éligible àlacompilation parlaJIT (Jus-In-Time Compiler) qui estuncompilateurdynamique
faisantaussi partie de laJVM. Dans cetarticle,nousallons parlerdesrôlesde l’interpréteuret
du compilateurJITdansle processusd’exécutionducode chargé dansla JVM.
I-L’interpréteur
L’interpréteurimplémentédansHotspot(JVMoracle) est basé surun Template.
L’implémentation d’uninterpréteur peutse faire soitenmode Templatecomme c’estle casde
Hotspotou enmode switchcase dans une boucle,lesdeux modesontdesavantagesetdes
inconvénients que nousn’allonspas détaillerdanscetarticle.
Pendantle démarrage de laJVM,celle-ci génèreenmémoire l’interpréteur enutilisantdes
informations stockées dansuntemplate appeléTemplateTable.Cette structure de donnée
contientle mappingentre chaque instructionde bytecode etl’instruction dédiéeàchaque type
de machine.La JVMfournitaussi desaccesseurssousforme de fonctionspour accéderau
contenudu TemplateTable.
Après le chargementdubytecode,le code n’estpas compilé immédiatement,ceci pourdeux
raisons :
La première raison, estlafréquence d’exécutionducode.Eneffet,si uncode estappelé une fois
il n’estdoncpas nécessaire de le compiler,il serait beaucoupplusjudicieux qu’une
interprétationsoitfaite pouréviterune consommationde ressourcesinutiles,carcompilerdu
code exécuté une seulefoisnécessite plusieurscycles processeur, cependant, le prix àpayer,
estla lenteurd’exécution. End’autresmotsle code interprétéest moinsrapide dansl’exécution
que le code compilé.
La deuxième raisonc’estl’optimisation.Uncode fréquemmentexécuté permetàlaJVMde
glanerdesinformationsqu’elleutiliserapendantlacompilation aux finsd’optimisation.
Afind’illustrernospropos,prenonsune méthodefairequelqueChose() qui estdéfiniedansune
classe X,héritée etredéfinieparune autre classe Y, lorsde l’appel de celle-ci surune instance de
Y (y1. fairequelqueChose()),laJVMva faire une recherche(lookup) sur l’appelde ladite
méthode afinde déterminerlaméthode de laclasse à exécuter.Parle mécanismede
polymorphisme, fairequelqueChose()de Yva être exécutée. Ce processus (recherche –
exécution(interprétation)) vase répétertantaussi longtemps que le code n’estpas compilé.
Après plusieurs exécutions,laJVMva pouvoirglanerdes informationssurladite méthodeetse
rendre compte que fairequelqueChose()estappeléparl’instance de Y. Cesinformationsseront
ensuite utiliséespendantlaphase de compilation.LaJVMva optimisersonprocessusen
éliminantl’étapede recherche,ce qui vapermettre àlaJVMde gagnerencélérité dansson
processus.
Figure 1
Il existe danslaJVM5 niveaux de compilationqui représententl’étatde compilationd’uncode
dans laJVM :
 Niveau0 : Code interprété
 Niveau1 : C1 (compilateurclient) code compilé simplifié
 Niveau2 : C1 (Compilateurclient) code compilé limité
 Niveau3 : C1 (Compilateurclient) code compilé enentier
 Niveau4 : C2 (Compilateurserveur) code compilé
Comme nouspouvonsle constater,le code interprété estauniveau0.Il représente le tout
premierétatd’uncode chargé dans la JVMpendantl’exécution.Il estànoterque toutcode
chargé dansla JVMcommence auniveau0 avant de poursuivre sonchemindansune file de
compilation. Nousconstatonségalementqu’il existe deuxtypesde compilateurdanslaJVM, le
compilateurclient C1et le compilateurserveurC2.
II-Compilateur
Pendantl’exécution d’une méthode, laJVMétablit2compteurs,1 pour lafréquence d’appelde
ladite méthode etundeuxième pourchaque branchement de laboucle,si laméthode contient
une boucle.Cesdeux compteurssontdonc comparés àune variable paramétrable :
CompileThreshold.Cette variable pardéfautdansle compilateurclientest1500 etpour le
compilateurserveurest10000. Elle peutfaire partie des paramètres de calibrage de laJVMen
indiquant:-XX :compileThreshold=N etN représente le nombre de fois nécessaire pourqu’un
code soitappelé afind’ être éligible àune compilation.
Le compilateurJITexisteendeux types,le client etle serveur.DanslaJVM,ilssont appelés
respectivementcompilateurC1etcompilateurC2. Pour l’utilisation,il fautmentionner la
commande –clientou –server dans le calibrage de laJVM, enpassantces variablesdansles
argumentsd’exécution de laJVM.
La différence entreles2typesde compilateurs estlaréactivité face aucode à compiler,le
compilateurclientestbeaucoupplusrapide danslacompilationau débutde l’exécution que le
compilateurserveur.Enrevanche,le compilateurC2(serveur) vaproduire une meilleure
optimisationque le compilateurC1.Ce qui implique un certaingain entermesde rapidité
d’exécution ducode compilé parC2.
Depuislaversion7 de java,il existe une autre forme de compilation,qui utilise lesdeux typesde
compilateurscomme levier.Appelée TieredCompilation,etparamétrée aulancementde laJVM
aveccet argument–XX :+TieredCompilation ,elle permetde profiterde lacéléritéde
compilation ducode compilé de C1au démarrage de l’exécution etde laqualité d’optimisation
du code compilé parC2.
Dans le processusde compilation,laJVMutilise une ressource appeléecode cache qui lui
permetd’optimisersonprocessus.Lataille de cette structure aune incidence surla quantité du
code à compiler. Elle permetàlaJVMd’y stocker certaines instructions enassembleurà
utiliserpourlacompilation.Ayantune taillepardéfaut,ellepeuttoutde même être calibrée en
utilisantcette commande :-XX:ReservedCodeCacheSize=N ,N étant lataille ducode cache.
Lorsque la JVMconstate qu’uncode est éligible àlacompilation,il le metdansune file
d’attente,ensuite selonlapriorité qui estétablieparle nombre d’appelsduditcode,il estdonc
acheminé versle compilateur.
Pourvisualiserleslogsde compilations,il fautcalibrerlaJVMavec cette argument –
XX :+PrintCompilation.

Mais conteúdo relacionado

Destaque

Presentation Akolade Services mobile
Presentation Akolade Services mobilePresentation Akolade Services mobile
Presentation Akolade Services mobileAkolade Services
 
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...gimwebgis
 
RATPENATS - BERNAT
RATPENATS - BERNATRATPENATS - BERNAT
RATPENATS - BERNATrmateu15
 
Les fiches de préparations
Les fiches de préparationsLes fiches de préparations
Les fiches de préparationseoz33
 
Posters réalisés en Roumanie.
Posters réalisés en Roumanie.Posters réalisés en Roumanie.
Posters réalisés en Roumanie.beajor
 
LE FIL DU RETAIL BY EXTREME - JUIN 2015
LE FIL DU RETAIL BY EXTREME - JUIN 2015LE FIL DU RETAIL BY EXTREME - JUIN 2015
LE FIL DU RETAIL BY EXTREME - JUIN 2015Extreme
 
Intercatedras de practicas profesionalizantes 3 er año
Intercatedras de practicas profesionalizantes 3 er añoIntercatedras de practicas profesionalizantes 3 er año
Intercatedras de practicas profesionalizantes 3 er añoCarla Melisa Nicolato
 
Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2David Combernous
 
Bonjour!aurevoir!
Bonjour!aurevoir!Bonjour!aurevoir!
Bonjour!aurevoir!Iman Mefleh
 
La Investigación en la Legislación Ecuatoriana
La Investigación en la Legislación EcuatorianaLa Investigación en la Legislación Ecuatoriana
La Investigación en la Legislación EcuatorianaCristian Caiza
 
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...K2LE Consulting
 
Historia de la tecnologia
Historia de la tecnologiaHistoria de la tecnologia
Historia de la tecnologiapresentacionn
 
21010101204 taller
21010101204   taller21010101204   taller
21010101204 tallerfrancy
 

Destaque (20)

Presentation Akolade Services mobile
Presentation Akolade Services mobilePresentation Akolade Services mobile
Presentation Akolade Services mobile
 
Los mejores ICFES saber 11 año 2011
Los mejores ICFES saber 11  año 2011Los mejores ICFES saber 11  año 2011
Los mejores ICFES saber 11 año 2011
 
Le prix des terres: l'essentiel des marchés fonciers ruraux en 2014
Le prix des terres: l'essentiel des marchés fonciers ruraux en 2014Le prix des terres: l'essentiel des marchés fonciers ruraux en 2014
Le prix des terres: l'essentiel des marchés fonciers ruraux en 2014
 
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...
Géoguichet cimetière - Consulter la fiche d’une concession à partir de la car...
 
C0362012026
C0362012026C0362012026
C0362012026
 
RATPENATS - BERNAT
RATPENATS - BERNATRATPENATS - BERNAT
RATPENATS - BERNAT
 
Les fiches de préparations
Les fiches de préparationsLes fiches de préparations
Les fiches de préparations
 
Posters réalisés en Roumanie.
Posters réalisés en Roumanie.Posters réalisés en Roumanie.
Posters réalisés en Roumanie.
 
LE FIL DU RETAIL BY EXTREME - JUIN 2015
LE FIL DU RETAIL BY EXTREME - JUIN 2015LE FIL DU RETAIL BY EXTREME - JUIN 2015
LE FIL DU RETAIL BY EXTREME - JUIN 2015
 
Intercatedras de practicas profesionalizantes 3 er año
Intercatedras de practicas profesionalizantes 3 er añoIntercatedras de practicas profesionalizantes 3 er año
Intercatedras de practicas profesionalizantes 3 er año
 
L’UNCCAS et la FNCDG publient un guide sur le reclassement
L’UNCCAS et la FNCDG publient un guide sur le reclassementL’UNCCAS et la FNCDG publient un guide sur le reclassement
L’UNCCAS et la FNCDG publient un guide sur le reclassement
 
El hombre jsk
El hombre jskEl hombre jsk
El hombre jsk
 
Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2Dossierdimanchedesmédias2015v2
Dossierdimanchedesmédias2015v2
 
Lunch and learn risk when coming to work
Lunch and learn risk when coming to workLunch and learn risk when coming to work
Lunch and learn risk when coming to work
 
Bonjour!aurevoir!
Bonjour!aurevoir!Bonjour!aurevoir!
Bonjour!aurevoir!
 
La Investigación en la Legislación Ecuatoriana
La Investigación en la Legislación EcuatorianaLa Investigación en la Legislación Ecuatoriana
La Investigación en la Legislación Ecuatoriana
 
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...
Il n'y a pas loin du Capitole à la Roche Tarpéienne, ou comment le pouvoir in...
 
Historia de la tecnologia
Historia de la tecnologiaHistoria de la tecnologia
Historia de la tecnologia
 
21010101204 taller
21010101204   taller21010101204   taller
21010101204 taller
 
Yummy magazine N°5
Yummy magazine N°5Yummy magazine N°5
Yummy magazine N°5
 

Semelhante a Architecture de la jvm deuxieme partie

Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Michael Njong
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicmorin moli
 
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfSouf212
 
Java ME by Amdane Samb at BarCamp Goree, December 2010
Java ME by Amdane Samb at BarCamp Goree, December 2010Java ME by Amdane Samb at BarCamp Goree, December 2010
Java ME by Amdane Samb at BarCamp Goree, December 2010Christelle Scharff
 
Turbo code
Turbo codeTurbo code
Turbo coden allali
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c mouad Lousimi
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfbenfifiaymen36
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptxSihemNasri3
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseurISIG
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-socketsnaimanaima1
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptxMED B
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introductionsabrine_hamdi
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdfHouBou3
 

Semelhante a Architecture de la jvm deuxieme partie (20)

Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
Architecture de la jvm(1ere Partie) - JVM Architecture (First Part)
 
Généralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasicGénéralités sur les microcontrôleurs et PicBasic
Généralités sur les microcontrôleurs et PicBasic
 
Les sockets.pptx
Les sockets.pptxLes sockets.pptx
Les sockets.pptx
 
Cours compilation
Cours compilationCours compilation
Cours compilation
 
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdfRAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
RAPPORT DU PREMIER MINI PROJET «FORUM DE CHAT» Novembre 2005.pdf
 
Java ME by Amdane Samb at BarCamp Goree, December 2010
Java ME by Amdane Samb at BarCamp Goree, December 2010Java ME by Amdane Samb at BarCamp Goree, December 2010
Java ME by Amdane Samb at BarCamp Goree, December 2010
 
Turbo code
Turbo codeTurbo code
Turbo code
 
Socket tcp ip client server on langace c
Socket tcp ip client server on langace c Socket tcp ip client server on langace c
Socket tcp ip client server on langace c
 
Chapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdfChapitre 0_ Introduction à la compilation.pdf
Chapitre 0_ Introduction à la compilation.pdf
 
T ps dsp
T ps dspT ps dsp
T ps dsp
 
Cours Systemes embarques.pptx
Cours Systemes embarques.pptxCours Systemes embarques.pptx
Cours Systemes embarques.pptx
 
Le microprocesseur
Le microprocesseurLe microprocesseur
Le microprocesseur
 
173544 introduction-aux-sockets
173544 introduction-aux-sockets173544 introduction-aux-sockets
173544 introduction-aux-sockets
 
cours fortran.pptx
cours fortran.pptxcours fortran.pptx
cours fortran.pptx
 
I le langage java d'una manière avancée introduction
I  le langage java d'una manière avancée introductionI  le langage java d'una manière avancée introduction
I le langage java d'una manière avancée introduction
 
8-socket.pdf
8-socket.pdf8-socket.pdf
8-socket.pdf
 
DSP FPGA.pdf
DSP FPGA.pdfDSP FPGA.pdf
DSP FPGA.pdf
 
Sat Definitions
Sat DefinitionsSat Definitions
Sat Definitions
 
Tp
TpTp
Tp
 
[FR] Poster Cetsis 2014 - PLC Checker
[FR] Poster Cetsis 2014 - PLC Checker[FR] Poster Cetsis 2014 - PLC Checker
[FR] Poster Cetsis 2014 - PLC Checker
 

Architecture de la jvm deuxieme partie

  • 1. Comme mentionnédanslapremière partie de cette série d’articlessurlaJVM,le bytecode généré parun compilateurstatique,estchargé dans laJVMgrâce aux chargeursde classe. Ensuite,leditcode écritenlangage intermédiaire noncompréhensible parle microprocesseur, estinterprété ligneparligne parl’interpréteurqui faitpartie de l’architecture de laJVM,ledit code est transformé encode assembleurpourêtre reconnuparle microprocesseur,puisen
  • 2. code machine,pourêtre enfinexécuté.Cependant,pendantl’exécution,laJVMcompte le nombre de foisqu’uncode estexécuté,si elle constate l’appel fréquentd’uncode,celui-ci est éligible àlacompilation parlaJIT (Jus-In-Time Compiler) qui estuncompilateurdynamique faisantaussi partie de laJVM. Dans cetarticle,nousallons parlerdesrôlesde l’interpréteuret du compilateurJITdansle processusd’exécutionducode chargé dansla JVM. I-L’interpréteur L’interpréteurimplémentédansHotspot(JVMoracle) est basé surun Template. L’implémentation d’uninterpréteur peutse faire soitenmode Templatecomme c’estle casde Hotspotou enmode switchcase dans une boucle,lesdeux modesontdesavantagesetdes inconvénients que nousn’allonspas détaillerdanscetarticle. Pendantle démarrage de laJVM,celle-ci génèreenmémoire l’interpréteur enutilisantdes informations stockées dansuntemplate appeléTemplateTable.Cette structure de donnée contientle mappingentre chaque instructionde bytecode etl’instruction dédiéeàchaque type de machine.La JVMfournitaussi desaccesseurssousforme de fonctionspour accéderau contenudu TemplateTable. Après le chargementdubytecode,le code n’estpas compilé immédiatement,ceci pourdeux raisons : La première raison, estlafréquence d’exécutionducode.Eneffet,si uncode estappelé une fois il n’estdoncpas nécessaire de le compiler,il serait beaucoupplusjudicieux qu’une interprétationsoitfaite pouréviterune consommationde ressourcesinutiles,carcompilerdu code exécuté une seulefoisnécessite plusieurscycles processeur, cependant, le prix àpayer, estla lenteurd’exécution. End’autresmotsle code interprétéest moinsrapide dansl’exécution que le code compilé. La deuxième raisonc’estl’optimisation.Uncode fréquemmentexécuté permetàlaJVMde glanerdesinformationsqu’elleutiliserapendantlacompilation aux finsd’optimisation. Afind’illustrernospropos,prenonsune méthodefairequelqueChose() qui estdéfiniedansune classe X,héritée etredéfinieparune autre classe Y, lorsde l’appel de celle-ci surune instance de Y (y1. fairequelqueChose()),laJVMva faire une recherche(lookup) sur l’appelde ladite méthode afinde déterminerlaméthode de laclasse à exécuter.Parle mécanismede polymorphisme, fairequelqueChose()de Yva être exécutée. Ce processus (recherche – exécution(interprétation)) vase répétertantaussi longtemps que le code n’estpas compilé. Après plusieurs exécutions,laJVMva pouvoirglanerdes informationssurladite méthodeetse rendre compte que fairequelqueChose()estappeléparl’instance de Y. Cesinformationsseront ensuite utiliséespendantlaphase de compilation.LaJVMva optimisersonprocessusen éliminantl’étapede recherche,ce qui vapermettre àlaJVMde gagnerencélérité dansson processus.
  • 3. Figure 1 Il existe danslaJVM5 niveaux de compilationqui représententl’étatde compilationd’uncode dans laJVM :  Niveau0 : Code interprété  Niveau1 : C1 (compilateurclient) code compilé simplifié  Niveau2 : C1 (Compilateurclient) code compilé limité  Niveau3 : C1 (Compilateurclient) code compilé enentier  Niveau4 : C2 (Compilateurserveur) code compilé Comme nouspouvonsle constater,le code interprété estauniveau0.Il représente le tout premierétatd’uncode chargé dans la JVMpendantl’exécution.Il estànoterque toutcode
  • 4. chargé dansla JVMcommence auniveau0 avant de poursuivre sonchemindansune file de compilation. Nousconstatonségalementqu’il existe deuxtypesde compilateurdanslaJVM, le compilateurclient C1et le compilateurserveurC2. II-Compilateur Pendantl’exécution d’une méthode, laJVMétablit2compteurs,1 pour lafréquence d’appelde ladite méthode etundeuxième pourchaque branchement de laboucle,si laméthode contient une boucle.Cesdeux compteurssontdonc comparés àune variable paramétrable : CompileThreshold.Cette variable pardéfautdansle compilateurclientest1500 etpour le compilateurserveurest10000. Elle peutfaire partie des paramètres de calibrage de laJVMen indiquant:-XX :compileThreshold=N etN représente le nombre de fois nécessaire pourqu’un code soitappelé afind’ être éligible àune compilation. Le compilateurJITexisteendeux types,le client etle serveur.DanslaJVM,ilssont appelés respectivementcompilateurC1etcompilateurC2. Pour l’utilisation,il fautmentionner la commande –clientou –server dans le calibrage de laJVM, enpassantces variablesdansles argumentsd’exécution de laJVM. La différence entreles2typesde compilateurs estlaréactivité face aucode à compiler,le compilateurclientestbeaucoupplusrapide danslacompilationau débutde l’exécution que le compilateurserveur.Enrevanche,le compilateurC2(serveur) vaproduire une meilleure optimisationque le compilateurC1.Ce qui implique un certaingain entermesde rapidité d’exécution ducode compilé parC2. Depuislaversion7 de java,il existe une autre forme de compilation,qui utilise lesdeux typesde compilateurscomme levier.Appelée TieredCompilation,etparamétrée aulancementde laJVM aveccet argument–XX :+TieredCompilation ,elle permetde profiterde lacéléritéde compilation ducode compilé de C1au démarrage de l’exécution etde laqualité d’optimisation du code compilé parC2. Dans le processusde compilation,laJVMutilise une ressource appeléecode cache qui lui permetd’optimisersonprocessus.Lataille de cette structure aune incidence surla quantité du code à compiler. Elle permetàlaJVMd’y stocker certaines instructions enassembleurà utiliserpourlacompilation.Ayantune taillepardéfaut,ellepeuttoutde même être calibrée en utilisantcette commande :-XX:ReservedCodeCacheSize=N ,N étant lataille ducode cache. Lorsque la JVMconstate qu’uncode est éligible àlacompilation,il le metdansune file d’attente,ensuite selonlapriorité qui estétablieparle nombre d’appelsduditcode,il estdonc acheminé versle compilateur. Pourvisualiserleslogsde compilations,il fautcalibrerlaJVMavec cette argument – XX :+PrintCompilation.