Annotazione (Java): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Xqbot (discussione | contributi)
m Bot: Aggiungo: pt:Annotation (java); modifiche estetiche
ValterVBot (discussione | contributi)
m Sintassi: tag source deprecati, replaced: <source lang= → <syntaxhighlight lang=, </source> → </syntaxhighlight>
 
(21 versioni intermedie di 17 utenti non mostrate)
Riga 1:
NellaIn programmazione[[Programmazione al computer(informatica)|programmazione]], una '''annotazione Java''' è un modo per aggiungere [[metadata|metadati]] nel [[codice sorgente]] [[Java (linguaggio di programmazione)|Java]] che puòpossono essere disponibiledisponibili per ilal [[programmatore]] durante l'[[esecuzione (informatica)|esecuzione]]. Molte volte è usata come alternativa alla tecnologia [[XML]].
 
Le annotazioni Java possono essere aggiunte agli elementi del [[programma (informatica)|programma]] quali [[Classe (informatica)|classi]], [[Metodo (programmazione)|metodi]], campi, parametri, [[variabile (informatica)|variabili]] locali, e pacchetti. A differenza dei tagstag aggiunti dalla documentazione Java e processati da toolstool come [[XDoclet]], le annotazioni Java sono completamente accessibili dal programmatore mentre il [[software]] è in esecuzione usando unala [[reflectionRiflessione (programminginformatica)|reflectionriflessione]].
 
== Storia ==
Riga 7:
 
== Elaborazione ==
Quando il codice Java viene [[compilazione|compilato]], il compilatore Java immagazzina i metadatametadati delle annotazioni nei filesfile ''.class''. In seguito, la [[Java Virtual Machine]] (JVM) o altri programmi possono guardare i metadatametadati per determinare come interagire con gli elementi del programma o cambiare il loro comportamento.
 
== Sintassi ==
La dichiarazione di un'annotazione è una variante dei tagstag 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:
<sourcesyntaxhighlight lang="java">
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
</syntaxhighlight>
</source>
Nell'esempio sia Retention che Target sono esempi di meta annotazioni e indicano che l'annotazione si ricava a [[runtime]] e che può essere applicata solo a metodi.
 
== Impatto e percezioneVantaggi ==
* [[Programmazione dichiarativa]]. Le annotazioni permettono ai programmatori di esprimere in forma dichiarativa alcune caratteristiche del comportamento che il programma (o meglio, i [[modulo (programmazione)|moduli]] che lo compongono) dovrà assumere a tempo di esecuzione.
=== 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{{cita web|url=https://www.jcp.org/en/jsr/detail?id=175 |titolo=JSR 175: A Metadata Facility for the JavaTM Programming Language]}}
 
== Voci correlate ==
* [[Java (linguaggio di programmazione)]]
* [[Model Driven Architecture]]
* [[Macchina virtuale Java]]
 
== Collegamenti esterni ==
* [{{cita web|http://java.sun.com/j2se/1.5.0/docs/guide/language/annotations.html |Annotations]}}
 
{{Portale|Informatica}}
 
[[Categoria:Linguaggio Java]]
 
[[ca:Anotació (Java)]]
[[de:Annotation (Java)]]
[[en:Java annotation]]
[[es:Anotación Java]]
[[fr:Annotation (Java)]]
[[ja:アノテーション]]
[[pt:Annotation (java)]]
[[zh:Java 标注]]