In programmazione, una annotazione Java è un modo per aggiungere metadati nel codice sorgente Java che possono essere disponibili al programmatore durante l'esecuzione. Molte volte è usata come alternativa alla tecnologia XML.
Le annotazioni Java possono essere aggiunte agli elementi del programma quali classi, metodi, campi, parametri, variabili locali, e pacchetti. A differenza dei tag aggiunti dalla documentazione Java e processati da tool come XDoclet, le annotazioni Java sono completamente accessibili dal programmatore mentre il software è in esecuzione usando la riflessione.