Thinking in Java
Thinking in Java was written in 1998 by Bruce Eckel, and the latest 4th edition was published in 2006. The book till today is one of the most popular books about the Java programming language and object-oriented programing. Thinking in Java was the first book I have read about programming, It was a recommended book by the local university for Software Engineering and Computer Science. The book introduced me to the basics of java and object-oriented programming in general.
Thinking in Java covers almost every basic aspect of the Java programming language, if you are beginner it will give you good building blocks of the programming in general as it keeps the level to be beginner-friendly but at the same time, it delivers a deep understanding of the Java programming language and object-oriented programming in general. Every topic is very good covered with clear coding examples and a couple of challenging exercises at the end of every chapter. The first quarter of the book is mostly introduction to the Java programming language and how Java is working under the hood as it coverts topics like:
- Primitive values, classes, and objects, operators. - Access control modifiers for class methods and fields. - Heap, stack and garbage collection. - Constructors. - Polymorphism and interfaces.
The next three quarters are mostly going deeper into the Java programming language and the object-oriented programming and you will read on topics like:
- Inner classes. - Exceptions. - Generics. - Java Collections (Map, Set, List, etc.). - Enum and Annotations. - Input and Output - Concurrency. - Graphical user interface.
The latest 4th edition of the book covers up to Java 5 version, the later versions are not covered, but it is expected as the 4th edition is published in 2006. The book is a little over 1000 pages and as it is a great learning resource also you can use it as a reference book.
Thinking in Java is a must-read book, especially if you want to do programming in Java programing language or learn Object-Oriented Programming (OOP). The book is great for beginners and even experienced developers who want to gain deeper knowledge or are coming from other programming paradigms to object orientated programming.
You can find and purchase Thinking in Java on the link below on Amazon
Thinking in Java by Bruce Eckel