Java: The Complete Reference
Java: The Complete Reference
Summary:
Introduction
The book "Java: The Complete Reference" (original title — Java: The Complete Reference) by Herbert Schildt is perhaps the most famous and comprehensive reference on the Java language in both the Russian and English markets. The 12th edition, released in 2022, covers Java SE 19 and spans over 1200 pages. On the PythonLib website, we are accustomed to working with Python, but Java remains one of the most in-demand languages in corporate development, Android, and backend. Therefore, we decided to analyze this "Java bible" and understand whether a modern developer should read it.
What the book is about
The book is an exhaustive reference that starts with the basics of Java syntax and ends with advanced topics: the module system (Project Jigsaw), lambda expressions, streams (Stream API), networking, multithreading, Swing, JavaFX, and even an introduction to records and sealed classes.
The structure of the edition is traditional for Schildt: each chapter is a separate topic explained with code examples. The book is divided into several parts:
- Part I: The Java Language — data types, operators, control statements, classes, inheritance, polymorphism.
- Part II: The Java Library — string handling, collections, input/output, networking, multithreading.
- Part III: Advanced Features — lambda expressions, Stream API, module system.
- Part IV: GUI — Swing and JavaFX (overview).
- Appendices — API documentation, answers to questions.
Who this book is for
Schildt positions the book as universal: from beginners to experienced developers. However, in practice:
- Beginners will find it difficult: the volume is intimidating, and the explanations are sometimes too academic. It's better to start with "Java: A Beginner's Guide" by the same author.
- Students — an excellent reference for coursework and exam preparation.
- Practicing Java developers — a desktop book for quickly finding information on specific classes or language features.
- Those switching from other languages (e.g., from Python) — will help systematize knowledge, but will require patience.
What the reader will learn
After reading (or at least studying the key chapters), the reader will be able to:
- Confidently write object-oriented code in Java.
- Use collections, generics, lambda expressions, and the Stream API.
- Work with multithreading and synchronization.
- Understand the Java 9+ module system.
- Create simple GUI applications in Swing.
- Read and analyze other people's code written in different styles.
- Prepare for an interview: the book covers 90% of Core Java questions.
Strengths
- Completeness. Covers almost all topics necessary for working with Java SE.
- Relevance. The 12th edition includes innovations from Java 17–19 (records, sealed classes, pattern matching).
- Code examples. Each concept is supported by a working listing.
- Structure. Convenient to use as a reference — open the desired chapter, find the answer.
- Author's authority. Herbert Schildt is a recognized expert in Java and C++, his books have been translated into dozens of languages.
Weaknesses
- Volume. 1248 pages is difficult to read sequentially. The book is more suitable for selective study.
- Dryness. At times the text resembles documentation; it lacks "real-world" examples from actual projects.
- Outdated sections. Swing and JavaFX are described superficially, although in 2022 most projects use Spring or Jakarta EE.
- Lack of practical exercises. There are no exercises for reinforcement.