Annotazione (Java): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
mNessun oggetto della modifica
Xqbot (discussione | contributi)
m Bot: Aggiungo: pt:Annotation (java); modifiche estetiche
Riga 1:
Nella programmazione al computer, una '''annotazione Java''' è un modo per aggiungere [[metadata|metadati]] nel codice sorgente Java che può essere disponibile per il 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 tags aggiunti dalla documentazione Java e processati da tools come [[XDoclet]], le annotazioni Java sono completamente accessibili dal programmatore mentre il software è in esecuzione usando una [[reflection (programming)|reflection]].
 
== Storia ==
Le annotazioni Java sono state introdotte dal [[Java Community Process]] come JSR-175 nel [[2002]] e approvate nel settembre [[2004]]. Le annotazioni sono divenute disponibili con il [[Java Development Kit]] (JDK) versione 1.5. Questa caratteristica è stata aggiunta al linguaggio Java attraverso le specifiche.
 
== Elaborazione ==
Quando il codice Java viene compilato, il compilatore Java immagazzina i metadata delle annotazioni nei files class. In seguito, la [[Java Virtual Machine]] (JVM) o altri programmi possono guardare i metadata per determinare come interagire con gli elementi del programma o cambiare il loro comportamento.
 
== Sintassi ==
La dichiarazione di un'annotazione è una variante dei tags che sono stati aggiunti, in passato, per commentare le sezioni.
 
Le annotazioni prendono la forma di una dichiarazione di interfaccia con un @ che le precede e opzionalmente marcate con una meta-annotazione, come mostrato sotto:
<source lang="java">
@Retention(RetentionPolicy.RUNTIME)
Riga 19:
Nell'esempio sia Retention che Target sono esempi di annotazioni.
 
== Impatto e percezione ==
=== Pro ===
* Programmazione dichiarativa. Le annotazioni permettono ai programmatori di esprimere in forma dichiarativa alcune caratteristiche del comportamento che il programma (o meglio, i moduli che lo compongono) dovrà assumere a tempo di esecuzione.
 
=== Contro ===
* Prestazioni. Aggiungere metadati durante l'esecuzione potrebbe causare un ulteriore aumento dell'occupazione di memoria a tempo di esecuzione. Ad ogni modo, l'effettiva quantità di memoria occupata dipende dall'implementazione della specifica virtual machine che si utilizza a ''[[runtime]]''.
 
== Bibliografia ==
* [http://www.jcp.org/en/jsr/detail?id=175 JSR 175: A Metadata Facility for the JavaTM Programming Language]
 
Riga 34:
* [[Macchina virtuale Java]]
 
== Collegamenti esterni ==
* [http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html Annotations]
 
{{Portale|Informatica}}
Riga 47:
[[fr:Annotation (Java)]]
[[ja:アノテーション]]
[[pt:Annotation (java)]]
[[zh:Java 标注]]