Imaginez qu'une application (conteneur) crée plusieurs chargeurs de classe pour héberger deux autres applications/sous-applications.Est-ce que l'optimisation de hotspot (sun-jvm) a lieu plusieurs fois, si une classe est chargée par différents chargeurs de classe?
Il existe un chargeur de classe de type -say-root pour l'application de conteneur. Chaque fois qu'une sous-application est chargée, le conteneur crée un nouveau chargeur de classe pour cette application.
Certaines sous-applications utilisent les mêmes classes, mais elles n'ont pas été chargées par le chargeur de classe du conteneur, de sorte que chaque sous-application (mieux: son chargeur de classe) charge le code, par exemple. classe A. Par conséquent, l'espace permspace sera rempli deux fois: une fois pour la sous-application # 1 et une fois pour la sous-application # 2. Qu'est-ce que cela signifie pour l'optimisation des points chauds du soleil?
Les mêmes optimisations se produiront-elles deux fois sur la classe A, une fois pour chaque chargeur de classe?
Ou, y a-t-il un "magique" intégré qui évite cela? (Optimisations effectuées une fois)
Quelqu'un connaît un lien, si cela est expliqué?
Je me réfère à un soleil (serveur) expédition vm avec jdk 1.6
Merci d'avoir répondu - mon expérience me manque :). Cependant, je vais essayer les commutateurs jvm que vous avez fournis. – MartinK
En utilisant ces commutateurs, vous pouvez effectuer votre propre test pour vérifier le comportement de HotSpot. Et s'il vous plaît, rapportez avec vos résultats! ;-) –
@Neeme: Devinez quoi? J'ai fait! J'ai créé un blog! Voir: http://growninthewild.blogspot.com/2010/09/java-virtual-machine-hotspot.html – MartinK