~/home of geeks
Neulich stolperte ich über eine Klasse, in der viele synchronisierte Methoden verwendet wurden und dabei in eine synchronized Falle getappt wurde: Statisches vs Instanz-Synchronisieren.
| Weiterlesen
Häufig gilt es zwei Zustände abzubilden, etwas ist A oder C. Und leider wird häufig hierfür ein Boolescher-Wert verwendet, obwohl andere Varianten sehr viel besser geeignet wären.
| Weiterlesen
Threadsicherheit (Threadsafety) ist ein häufig unterschätztes Thema bei Entwicklern. Dabei reichen einige wenige Heuristiken, um das Schlimmste zu vermeiden.
| Weiterlesen
Parallele Programming mit Lockset: Eine Lockset ist eine Mutex für mehrere Objekte, bei der die Sperrung der Ressource sich auf die Identität des Objektes selber bezieht.
| Weiterlesen
Ein kleiner Exkurs in Beanmapping zweier Klassen mit Reflection, Apache Commons Lang3 und Annotationen.
| Weiterlesen
Beim Registrierungsprozess einer Seite kann man Denylisten einsetzen, um z. B. Usernamen, wie “Administrator” zu reservieren, oder zu Verhindern, dass jemand eine bekannte Wegwerf-Emailadresse verwendet. Grund genug, einen generischen Service hierfür zu schreiben.
| Weiterlesen
Die JSR 303 und JSR 380 Spezifikationen für Annotationen zur Validierung von Feldern sind sehr praktisch, insbesondere im Umfeld von Spring und Hibernate, stellen sie auf einfache Weise konsistente Daten sicher. Doch nicht immer ist der Einsatz der Standardimplementierung trivial und muss den Bedürfnissen angepasst werden. In diesem Fall habe ich eine Prüfung für Usernamen genauer unter die Lupe genommen.
| Weiterlesen