Pourquoi la définition de la classe comme final améliore les performances de la JVM?

Citant http://sites.google.com/site/gson/gson-design-document:

Pourquoi sont la plupart des classes dans Gson marqué comme
final?

Tout Gson fournit un assez
architecture extensible en fournissant
enfichable sérialiseurs et
deserializers, Gson classes n'étaient pas
spécialement conçu pour être
extensible. Non-final
les classes aurait permis à un utilisateur de
légitimement étendre Gson classes, et
alors s'attendre à ce que le comportement de travailler dans
toutes les modifications ultérieures. Nous avons choisi de
de limiter de tels cas d'utilisation par le marquage
les classes final, et attendre jusqu'à ce qu'un
bon de cas d'utilisation de ressort pour permettre
l'extensibilité. Marquage d'une classe finale
a également un léger avantage de fournir
supplémentaire possibilités d'optimisation
pour Java compilateur et de la machine virtuelle.

Pourquoi est-ce le cas? [Si je suppose: de la JVM sait classe est définitive, il ne maintient pas la méthode remplacer les tables? Existe-il d'autres raisons?]

Quel est l'avantage de la performance?

N'cela s'applique à des catégories que sont la fréquence instancié (POJO?) ou peut-être à la classe qui sont les détenteurs des méthodes statiques (classes utilitaires) ?

Sont des méthodes définies comme final peut aussi théoriquement d'améliorer les performances?

Existe-il des conséquences?

Merci,
Maxim.

  • Je suis sûr que si vous avez effectué une recherche vous permettra de trouver une réponse à cela; je me souviens d'une juste il y a quelques jours. Mais peu importe, je vous recommande d'ignorer que la dernière phrase; le reste du paragraphe est ce qui est important.
  • Je demande pour l'apprentissage à des fins. Aimerais un lien parce que je n'ai pas trouvé (N'a couru une recherche rapide avant de demander).
  • D'accord, les avantages du marquage des classes final a plus à voir avec la documentation relative à leur conception (ou l'absence) de l'extensibilité de la performance. (D'un autre côté, ce n'est pas ce que @Maxime Veksler demandé...)
  • Je sais pas relativement sain d'esprit JVM qui saute CHA (hiérarchie de classes d'analyse), alors au final les classes d'améliorer rien.
  • Ce que je comprends, c'est l'équipe qui permet une optimisation sur final pas la JVM. Voir cet article pour plus de détails.