Wer möchte sich nicht gerne einen Java-Guru nennen dürfen? Der Weg dorthin ist jedoch steinig und oft schmerzlich. Robert Simmons möchte dem Leser diesen ersparen und mit dem notwendigen Wissen ausstatten, damit dieser sicher in den Java-Olymp gelangt. Zunächst erläutert er einige der Besonderheiten von Java, wobei man sofort merkt, dass er ursprünglich aus der C++-Welt stammt und in Java viele in C++ vermisste Elemente gefunden hat. Es folgt eine Sammlung verschiedener Codefragmente, anhand derer der Autor erläutert, wie man am effizientesten in Java programmiert und welche Fehler man dabei tunlichst vermeiden sollte.
In den folgenden Kapiteln greift der Autor einzelne Fragestellungen auf und vermittelt anhand kompakter Beispiele die aus seiner Sicht „Best Practices“ in Java. Finale Variablen, Parameter und Klassen machen den Anfang. Auf das fast schon obligatorische Collections-Kapitel folgt ein Abschnitt zum Thema Exceptions. Der Autor warnt hier etwa vor Anfängerfehlern wie dem Abbilden jedes Fehlerzustands in eine eigene Exception-Klasse. Die darauf folgende Abhandlung über verschachtelte Klassen lebt ebenfalls wie der Rest des Buches von dem sehr lockeren, angenehm zu lesenden Schreibstil des Autors.
Nach einem Kapitel über Konstanten in Java, in dem auch Internationalisierung und die Verwendung von Ressourcen erläutert werden, gibt es einen „Cut“, und der Autor wendet sich von der „Hardcore“-Programmierung zur „soften“ Datenmodellierung. Am klassischen „Bank“-Beispiel vermittelt der Autor sein Verständnis des Analyse- und Design-Prozesses. Leider werden die Themen Persistenz, Datenbanken und JDO nur ansatzweise erwähnt. Nächstes Thema ist das Reflection API. Weiterhin beschäftigt er sich mit statischen und dynamischen Proxies und stellt das Konzept der Java-Referenzobjekte vor. Das letzte Kapitel behandelt die Neuerungen in Java 5.
"Hardcore Java" wird dem Anspruch seines Titels nicht gerecht. Hinter diesem würde man einen tiefen Blick in die Innereien von Java suchen. Das Buch ist vielmehr für den leicht fortgeschrittenen Java-Entwickler geeignet, der mit den Tipps und Empfehlungen des Buches ausgestattet ohne großen Lernprozess bessere Ergebnisse produzieren möchte. Leider findet sich der eine oder andere Flüchtigkeitsfehler im Buch und auch die dogmatisch vorgestellten Empfehlungen des Autors sollte der Leser kritisch hinterfragen.








