Java-Bücher von Christian Ullenboom
Die umfassende Java-Referenz seit über zwei Jahrzehnten
Aus den Begleitunterlagen von Christian Ullenbooms Java-Seminaren sind mehrere Java-Bücher entstanden:
- ›Java ist auch eine Insel. Einführung, Ausbildung, Praxis‹ (ISBN 383629544X) gibt einen fundierten Einstieg in die Java-Programmierung. Das Buch richtet sich an Leser, die bereits mit den Grundlagen der imperativen oder objektorientierten Programmierung vertraut sind und Java neu kennenlernen möchten. Wer Java als erste Programmiersprache erlernen möchte und noch nie programmiert hat, könnte mit diesem Buch Schwierigkeiten haben. ›Die Insel‹ ist kein allgemeines Einführungsbuch in die Informatik oder Programmierung und erklärt weder, was Software ist, noch wie ein Computer funktioniert. Ebenso wenig ist es ein typisches Universitätslehrbuch, das sich mit theoretischen Konzepten wie Turingmaschinen oder Entscheidbarkeit befasst. Vielmehr richtet sich das Buch an die Praktiker in der Softwareentwicklung, die Java im beruflichen Umfeld einsetzen möchten. Auch wenn es immer wieder theoretische Abschnitte gibt, stehen diese nicht im Mittelpunkt. Wer eine tiefgehende theoretische Auseinandersetzung mit der Sprache sucht, sollte einen Blick in die Java Language Specification werfen.
- ›Java SE 9-Standard-Bibliothek: Das Handbuch für Entwickler‹ (ISBN 978-3836258746) konzentriert sich auf die Java SE-Standardbibliotheken. Da sich die Java SE-Standardbibliotheken mit jeder neuen Version weiterentwickeln, sind viele Inhalte nicht mehr aktuell. Eine Neuauflage des Buches ist derzeit nicht geplant, da sich die behandelten Themen an eine vergleichsweise kleine Zielgruppe richten. Möglicherweise wird es in Zukunft eine digitale Version geben.
- ›Spring Boot 3 und Spring Framework 6: Das umfassende Handbuch‹ (ISBN 3367104213) bietet eine ausführliche Einführung in die Entwicklung mit Spring Boot und dem Spring Framework.
- ›Captain CiaoCiao erobert Java: Das Trainingsbuch für besseres Java‹ (ISBN 3836284278) bietet eine unterhaltsame und praxisnahe Möglichkeit, Java-Kenntnisse zu vertiefen. Mit einem spielerischen Ansatz und vielen praxisnahen Übungen richtet sich das Buch an Entwickler, die ihr Wissen über Java verbessern möchten.
Es gibt auch englische Übersetzungen der Bücher. Da diese seltener aktualisiert werden, sammeln sich im Laufe der Zeit mehr kleinere Unstimmigkeiten an. Diese sind auf GitHub dokumentiert.
- ›Java. The Comprehensive Guide‹ (ISBN 978-1493222957) ist die englische Übersetzung von ›Java ist auch eine Insel‹ und bietet eine umfassende Einführung in die Java-Programmierung. Korrekturen sind in diesem GitHub-Repository verfügbar.
- ›Spring Boot 3 and Spring Framework 6: Build Scalable, Modern Java Applications with Spring and Spring Boot‹ (ISBN 978-1493224753) ist die englische Übersetzung von ›Spring Boot 3 und Spring Framework 6: Das umfassende Handbuch‹. Auch hier werden Korrekturen und Ergänzungen im GitHub-Repository gesammelt.
Christian Ullenboom legt großen Wert darauf, nicht einfach nur die APIs abzuschreiben oder die Referenzdokumentation zu übersetzen. Stattdessen richtet er den Blick auf die Implementierung und vermittelt die Philosophie der Sprache und Frameworks. Dabei geht es nicht nur um Java selbst, sondern auch um bewährte Design-Patterns, Optimierungstechniken und praxisnahe objektorientierte Programmierung. Seine Bücher entwickeln sich stetig weiter: Neue Erkenntnisse, Tipps und Tricks aus Java-FAQs, Rückmeldungen aus Schulungen, Diskussionen auf Stack Overflow und Fachliteratur fließen regelmäßig ein.
Insel-Entwicklung
Seit Ende 2021 ist die 16. Auflage vom 1. Band (kurz B1V16) im Handel und die 3. Auflage vom 2. Band (kurz B2V3) erhältlich bei Rheinwerk Verlag (ehemals Galileo Computing). Der Weblog informiert regelmäßig über Neuigkeiten und Buch-Updates.
Auflage Band 1 | Auflage Band 2 | Geschichte |
---|---|---|
18 | — | Geplant für Ende 2025 mir einem Update auf Java LTS Release Version 25. |
17 | — | Alle Neuerungen bis Java 21. |
16 | — | Die Auflage enthält alle Neuerungen von bis Java 17. Vom 2. Band ist bisher keine Neuauflage geplant. |
15 | — | Die Auflage enthält die Neuerungen von Java 12, Java 13 und Java 14. |
14 | — | Die Auflage enthält die Neuerungen von Java 10 und Java 11. |
13 | 3 | Java 9 wurde im September 2017 veröffentlicht. Die Sprach- und Bibliotheksneuerungen sind eher übersichtlich, radikal neu ist das Modulsystem. Die Beispiele basieren auf den Möglichkeiten von Java 8, wie Lambda-Ausdrücken. |
12 | — | Update des ersten Bandes im 1. Quartal 2016. Die Version ist für frei online. |
11 | 2 | Java 8 wurde am 18. März 2014 freigegeben, im Juli 2014 folgten die neuen Bände. Alle Code-Beispiele basieren konsequent auf Java 7 bzw. Java 8 bei den neuen Features. |
10 | 1 | Ende 2011. Das erste Mal gibt es Band 1 (die Sprache) und Band 2 (die Bibliotheken). Die Bände beschreiben Java 7. |
9 | Release 2010. Updates, Kapitelverschiebungen und bereitet auf Java 7 vor. | |
8 | Die Auflage aus Januar 2009 enthält in erster Linie Korrekturen und ein paar neue Grafiken. Weiterhin neue Abschnitte zu regulären Ausdrücken und der JAXB-API. | |
7 | Veröffentlichung im November 2007. In erster Linie Korrekturen und eine Kapitelverschiebung. | |
6 | Nachdem Sun Java 6 (JDK 6) im Dezember 2006 veröffentlicht hat, gibt es auch eine neue Version der Insel mit vielen Neuerungen wie Web-Services, JavaScript-API, Tray, Splash-Screen, RowSorter, File-Erweiterungen, Compiler API, SwingWorker, Console. | |
5 | Im September 2005 fertiggestellt. Die Beispiele wurden noch mehr auf Java 5 ausgelegt und Abschnitte erweitert und durch neue APIs umsortiert. | |
4 | Die vierte Auflage kam Ende 2004 und basierte weitestgehend auf Java 5. | |
3.2 | Die dritte Auflage wurde um neue Beispiele erweitert und fand Anfang 2004 den Weg in die Regale. Die ISBN blieb die gleiche. Die OOP-Beispiele wurden von Socken auf Diskotheken/Kirchen umgestellt. | |
3 | Die 3. Auflage im Hardcover mit neuem Seitenformat ist Juni 2003 in den Handel gekommen. | |
2 | Im September 2002 erschien die zweite Auflage, und eine zusätzliche Sonderedition für Studierende mit 1.000 Exemplaren war rasch ausverkauft. | |
1 | Im Dezember 2001 wurde die Insel nach dreijähriger Arbeit mit mehr als 1.300 Seiten von Galileo Computing veröffentlicht. |
Ende 2001 wurde die 1. Auflage der Insel veröffentlicht. Seitdem gibt es alle 1 bis 2 Jahre ein Update, welches auch immer die neuen Java-Versionen beschreibt. Band 1 Auflage 16 (B1V16) und auch Band 2 Auflage 1 (B2V1) sind online. Allerdings sind wegen der unsicheren Rechtslage nur die Vorgängerversionen online.
Wie geht's besser?
Da so ein Buch eine dynamische Sache ist, erhofft sich Christian Ullenboom (E-Mail) von seinen Lesern Vorschläge, wie man die Bücher noch besser gestalten kann:
- Korrekturvorschläge bei Rechtschreibfehlern oder Satzfehlern geben. Wenn man einen Satz schon zweimal lesen muss, ist das ein Zeichen für unklaren Stil.
- Hinweise auf unsaubere Beschreibungen. Ein Begriff ist schwammig erklärt oder Zusammenhänge sind unklar.
- Didaktisches Fehlkonzept aufzeigen. Etwas wird genutzt, aber später erst erklärt. Den Stoff zu sequenzieren ist eine große Herausforderung. Tausende Konzepte müssen in Reihe gelegt werden. Datenstrukturen werden schon kurz bei 1:n-Assoziationen vorgestellt, Schnittstellen mogeln sich rein, werden aber erst später wirklich eingeführt. Es gibt noch mehr solche Stellen. Kapitel 4 etwa bei den Zeichenketten greift auf Ausnahmen vor und IO-Klassen, das Exception-Kapitel ebenfalls auf IO. In jeder Auflage schieben sich Kapitel hin und her, um die Vorgriffe zu minimieren. Das Problem ist aber fast unlösbar, weil es immer rekursive Abhängigkeiten gibt. Erklärt man Wrapper-Klassen zuerst, referenziert das
Comparable
, erklärt manComparable
/Comparator
braucht man schnell Wrapper und Generics sowieso. Man dreht sich im Kreis. - Was benötigt man im Alltag, fehlt aber in den Büchern? Christian Ullenboom ist immer auf der Suche nach Inhalten, die für die nächsten Auflagen aufgenommen werden sollen.
- Trotz Aufspaltung in zwei Bände ist die Insel immer noch zu dick für spezielle Abschnitte, was zur Auslagerung einigen Passagen in den Java-Blog führte. Finden Leser einige Abschnitte zu abgedreht, ist das auch eine Meldung wert.
Code
Alle Buchbeispiele gibt es als Download; das hilft, den Code aus den Büchern selbst nachvollziehen und ändern zu können. Nach dem Auspacken kann das Projekt direkt in IntelliJ mit File > Open... geöffnet werden. Der Unterordner Inselprogramme ist ein Maven-Projekt, das jede aktuelle Java-IDE importieren kann.
Das Wichtigste auf einen Blick
- Band 1, Auflage 16 online lesen
- Band 2, Auflage 1 online lesen
- Java-Aufgaben lösen
- Alle Buchbeispiele und Aufgabenlösungen
- Bei Amazon Band 1, Band 2 bestellen
Weblog
Im Insel-Blog schreibt der Autor über aktuelle Entwicklungen in Java, Softwareentwicklung im Allgemeinen, Open-Source, JavaScript, neuen IDE-Erweiterungen und Neuerungen in den Java-Büchern.