with tutorial create annotation java reflection annotations

java - tutorial - Anotación FUENTE Política de retención



java annotations (1)

Del documento de Java:

CLASE: las anotaciones deben ser registradas en el archivo de clase por el compilador, pero no es necesario que la VM las retenga en tiempo de ejecución.

DURACIÓN: las anotaciones deben ser registradas en el archivo de clase por el compilador y retenidas por la VM en tiempo de ejecución, por lo que pueden leerse de manera reflexiva.

FUENTE: las anotaciones deben ser descartadas por el compilador.

Entiendo los usos de RUNTIME (para usar anotación con reflexión) y CLASS (para el compilador) pero no entiendo cuándo puede ser útil usar

@Retention (RetentionPolicy.SOURCE)

¿Puedes explicar?


Cosas como @SuppressWarnings, @Override son anotaciones utilizadas por el compilador, no necesarias en el tiempo de ejecución. Para aquellos RetentionPolicy.SOURCE tendría sentido. También se pueden usar anotaciones para generar código (consulte Spring ROO); dicha anotación tampoco es necesaria en tiempo de ejecución.