Muchas veces se usa como una alternativa a la tecnología XML.
Las Anotaciones Java pueden añadirse a los elementos de programa tales como clases, métodos, metadatos, campos, parámetros, variables locales, y paquetes.
Al contrario que las etiquetas añadidas a la documentación Java y procesadas con las herramientas tales como XDoclet, las Anotaciones Java son completamente accesibles al programador, mientras que el software se ejecuta, usando reflexión.
Las Anotaciones toman la forma de una declaración de interfaz con un carácter @ precediéndola, y marcada opcionalmente con meta-anotaciones, como se ve debajo: En el ejemplo anterior, tanto Retention como Target son ejemplos de Anotaciones.
Un ejemplo de la declaración de una anotación es la siguiente: public @interface EjemploAnotacion{ } Como se puede ver en el ejemplo anterior es sumamente sencillo, es declarar una interface solo que se le debe anteponer el símbolo "@" Las Anotaciones permiten al programador declarar en su código fuente cómo debe comportarse el software.