Beim Verweisen von einer Referenz auf eine andere wird lediglich eine weitere Referenz auf dasselbe Objekt erzeugt. Eigens deswegen gibt es eine clone()-Methode für alle Referenztypen. Damit kann ein Objekt eine Kopie von sich selbst erzeugen. Es folgen hier und auf den nächsten Seiten die Einzelheiten, die für das Klonen von Java-Objekten wichtig sind.
Warum eine lokale Kopie anlegen?
Der wahrscheinlichste Grund für das Anlegen einer lokalen Kopie eines Objekts ist, dass die Kopie modifiziert und das Objekt für den Methoden-Aufruf nicht verändert werden soll. Wenn man beschließt, eine lokale Kopie anzulegen, kann dies mittels der clone()-Methode der Object-Klasse geschehen. Die clone()-Methode ist als geschützt eingestuft, muss aber in allen Unterklassen, die eventuell geklont werden sollten, als öffentlich eingestuft werden.
Die gewöhnliche Library-Klasse ArrayList setzt clone() zum Beispiel außer Kraft. So kann für ArrayList clone() wie folgt aufgerufen werden:
Die clone()-Methode erzeugt ein Objekt, das dem entsprechenden Typ angeglichen werden muss. Dieses Beispiel zeigt, wie die clone()-Methode von ArrayList nicht automatisch versucht, jedes Objekt zu klonen, das in ArrayList enthalten ist – die alte ArrayList und die geklonte sind mit denselben Objekten verknüpft. Dies wird oft eine flache Kopie genannt, da diese nur die „Oberfläche“ eines Objekts enthält. Das tatsächliche Objekt besteht aus dieser „Oberfläche“ sowie all den Objekten, auf die die Referenzen verweisen und all den Objekten, auf die jene Objekte wiederum verweisen, und so weiter. Dies wird häufig als „Objektnetz“ bezeichnet. Wird das Ganze kopiert, spricht man von einer „tiefen Kopie“.
Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.
Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.
Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.
Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.
Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…
Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…