¿Por qué definir la clase como final mejora el rendimiento de JVM?

Citando dehttp://sites.google.com/site/gson/gson-design-document:

¿Por qué la mayoría de las clases en Gson están marcadas como finales?

Mientras que Gson proporciona una arquitectura bastante extensible al proporcionar serializadores y deserializadores conectables, las clases de Gson no fueron diseñadas específicamente para ser extensibles. Proporcionar clases no finales habría permitido a un usuario extender legítimamente las clases de Gson y luego esperar que ese comportamiento funcione en todas las revisiones posteriores. Elegimos limitar tales casos de uso marcando las clases como finales y esperando hasta que surja un buen caso de uso para permitir la extensibilidad. Marcar una final de clase también tiene un beneficio menor de proporcionar oportunidades de optimización adicionales para el compilador Java y la máquina virtual.

¿Por qué es este el caso? [Si supongo: de JVM sabe que la clase es final, ¿no mantiene las tablas de anulación de método? ¿Hay alguna otra razón?]

¿Cuál es el beneficio en el rendimiento?

¿Esto se aplica a las clases que se instancian con frecuencia (POJO?) O tal vez a las clases que son métodos estáticos de los titulares (clases de utilidad)?

¿Los métodos definidos como finales también pueden mejorar teóricamente el rendimiento?

¿Hay alguna implicación?

Gracias Maxim.

Respuestas a la pregunta(5)

Su respuesta a la pregunta