Archiv für Java
Speichermodell
Ein Speichermodell beschreibt, welche Ausführungsfolgen für ein Programm erlaubt sind, insbesondere bei nebenläufigen Lesezugriffen auf Variabeln. Das Java Memory Model wird in Kapitel 17 der Java Language Specification (JLS) beschrieben. Mit dem Java Specification Request 133 (JSR-133) wurden einige Probleme … Weiterlesen
Kopieren über Schreiben
Der Zugriff auf gemeinsam benutzte veränderliche Daten sollte in nebenläufigen Programmen synchronisiert werden, weil ein kritischer Wettlauf (race condition) zu Zugriffsfehlern und zu nicht deterministischem Verhalten führt (s.a. Item 66 in Effective Java von Joshua Bloch, 2. Auflage, 2008). In … Weiterlesen
Ressourcen freigeben
Bei Nr. 41 der Tüftelfragen in Java Puzzlers von Joshua Bloch und Neil Gafter (2. Auflage, 2005) geht es darum, wie zwei Datenströme, ein Eingabestrom und ein Ausgabestrom, sicher geschlossen werden, somit so, dass auf jeden Fall – also auch … Weiterlesen
Wege durch den Schutzwall
Der Stein rollt, aber es bröckelt: Änderungen, die es leichter machen sollten, sich durch eine Firewall mit einem JMX-Server zu verbinden, wurden diese Woche aus der Feature-Liste für Java 7 gestrichen. Begründet wurde der Schritt mit der zu knapp gewordenen … Weiterlesen
Ansicht oder Kopie?
Es lohnt sich oft, den Vertrag einer Methode zu lesen, also die Dokumentation, welche die Methode, ihre Argumente, ihre Rückgabe und die Auswirkung auf den Status des Objektes beschreibt. Bei manchen Methoden von Java-Collection-Klassen ist das besonders wichtig, denn sie … Weiterlesen