Archiv für Software-Entwicklung
Bewegte Oberfläche
Die meisten Web-Seiten werden heute mit HTML (für Inhalt und Struktur), CSS (für die Darstellung) und JavaScript (für die Interaktion mit dem Benutzer und den Datenaustausch mit dem Server) gebaut. Mit JavaScript können HTML-Elemente und CSS-Stilauszeichnungen verändert, entfernt und hinzugefügt … Weiterlesen
Versionen
Es soll noch Teams von Software-Entwicklern geben, die ohne ein Versionsverwaltungssystem auskommen und die Versionsverwaltung ihrer Projekte ganz von Hand durchführen. Dabei lohnt sich der Einsatz eines Systems für die Versionsverwaltung (en. version control system, VCS), auch Quellenverwaltung (en. source … Weiterlesen
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