Si vous ne connaissez rien à JVM, il est recommandé de ne pas parler de performances, et les performances ne sont pas mesurées de cette façon.
Les paramètres et variables locales de la méthode
correspondent à la table de variables locales 3 dans la pile de machine virtuelle 1 cadre de pile 2 Le type de référence occupe. un slot SLOT, donc La différence entre votre deuxième façon d'écrire est que le cadre de pile a un slot supplémentaire après avoir créé l'objet String, la référence de l'objet est sur la pile d'opérandes 4. est enregistré dans la table des variables locales via l'instruction aload et la méthode testString est appelée. Lorsque vous utilisez l'instruction aload, placez-la en haut de la pile d'opérandes.
Résumé : il y a un SLOT supplémentaire dans le cadre de pile et deux instructions supplémentaires dans l'appel de méthode. Les instructions redondantes seront éliminées après l'échauffement JIT.
Si vous ne connaissez rien à JVM, il est recommandé de ne pas parler de performances, et les performances ne sont pas mesurées de cette façon.
Les paramètres et variables locales de la méthodecorrespondent à la table de variables locales 3 dans la pile de machine virtuelle 1 cadre de pile 2 Le type de référence occupe. un slot SLOT, donc La différence entre votre deuxième façon d'écrire est que le cadre de pile a un slot supplémentaire après avoir créé l'objet
String
, la référence de l'objet est sur la pile d'opérandes 4. est enregistré dans la table des variables locales via l'instructionaload
et la méthode testString est appelée. Lorsque vous utilisez l'instructionaload
, placez-la en haut de la pile d'opérandes.Résumé : il y a un SLOT supplémentaire dans le cadre de pile et deux instructions supplémentaires dans l'appel de méthode. Les instructions redondantes seront éliminées après l'échauffement JIT.