Mit Java 5 wurden Annotationen in Java eingeführt und sie sind schnell zu einem alltäglichen Werkzeug in der modernen Java-Entwicklung geworden. Aber wie entstand eigentlich die Idee der Annotationen?
Seit der Einführung des ersten, noch lückenhaften Java musste man wegen der fehlenden Metadaten und um mehr als nur Java-Code in eine Java-Quelldatei einzubetten, häufig auf Notkonstruktionen zurückgreifen. Das erste fertige Java schließlich verfügte bereits über JavaDoc, eine Behelfslösung für diese Lücke. JavaDoc verwendete den Inhalt speziell markierter Kommentare im Code, um zusätzliche Informationen (besonders Dokumentation) zu extrahieren und in die uns bekannten JavaDoc-Seiten umzuwandeln. Das ist eine einfache Technik, die auch fleißig genutzt wurde. Zunächst gab es Doclets, mit denen man die Dokumentationsmöglichkeiten erweitern wollte. Danach kam das einen Schritt weiter gehende XDoclet, mit dem die JavaDocs wie Markups verwendet werden konnten und eigenen Code generieren konnten. Das war zum Teil auf die Komplexität von J2EE zurückzuführen, bei dem Objekte häufig mithilfe von Boilerplate-Code in das J2EE-Framework eingebunden wurden.
Aber diese Herangehensweisen waren problematisch: Erstens schafften es die Markups in Kommentaren niemals in den endgültigen Quelltext, so dass man sie in Laufzeit nicht ansehen konnte, sofern man keinen speziellen Code dafür schrieb, zweitens wurde dadurch der einfache Kompilierungsvorgang um eine komplette Vorverarbeitungsschicht aufgebläht und drittens konnte man so Markups auf der Grundlage von Kommentaren nur schwer während der Kompilierung oder in verschiedenen IDE-Umgebungen überprüfen. Ein Tippfehler genügt, und schon wird ein Kommentar-Markup vom Compiler nicht mehr erkannt, da dieser nur Tags behandelt, deren exakten Namen er kennt.
Wegen all dieser Probleme wurde Java um Annotationen erweitert. Annotationen sind native Metadaten-Markups für die Sprache Java. Sie sind streng typisiert wie der Rest der Sprache Java, können durch Reflexion erkannt werden und sind daher für die Schreiber von IDEs und Compilern einfacher zu handhaben. Hier einige Beispiele für Code mit Annotationen. Zunächst mit einem grundlegenden Beispiel BaseExample, einer einfachen Klasse mit nur einer Methode namens myMethod:
Die Entwickler arbeiten noch an weiteren „Verfeinerungen“. Windows Insider erhalten nun wohl eine erste Vorschau…
Laut Bitkom-Umfrage werden in jedem dritten Unternehmen in Deutschland private KI-Zugänge genutzt. Tendenz steigend.
2023 erlitten neun von zehn Unternehmen in der DACH-Region Umsatzverluste und Kurseinbrüche in Folge von…
Der Report „Pacific Rim“ von Sophos beschreibt Katz-und-Maus-Spiel aus Angriffs- und Verteidigungsoperationen mit staatlich unterstützten…
NVIDIA DGX SuperPOD soll voraussichtlich Mitte 2025 in Betrieb genommen und für Forschungsberechnungen genutzt werden.
Latrodectus, auch bekannt als BlackWidow, ist auch unter dem Namen LUNAR SPIDER bekannt.