If you are a Java Programmer who is looking to build up your library collection here are some suggestions of the best books out there about this fascinating language.
Java A Beginner’s Guide by Herbert Schlidt
This is an excellent guide for programmers who are new to Java. It is a beginners guide to Java, but to get the most out of it the reader does need to have some basic programming knowledge.
This book is well laid out, with useful features such as chapter opening lists specifying what you will learn in that section, and quizzes at the end of each chapter so that you can test what you have learned.
Head First Java by Kathy Sierra
This book is aimed at readers who are new to both Java and programming. It does a very good job of explaining the basic principles of Java in an easy to understand format. Some readers will enjoy the irreverent approach, but if you are looking for formal text book style then this is not the book for you!
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
Every programmer knows that clean code is essential to writing a great program. This bestselling book will challenge the reader to think about how they can identify what is right and what is wrong about the many examples of code which are given in the text. It helps them to recognize the difference between good code and bad code so that they ultimately become better programmers in any language, including Java.
Effective Java by Joshua Bloch
This book is designed for the experienced Java programmer who wants to improve upon their existing skills. The author, Joshua Bloch, is one of the most respected authorizes on this subject – he has led the design and implementation of many Java systems. This book will be relevant to even the most experienced Java designer.
Java 8 in Action: Lambdas, Streams and Functional Style Programming by Raoul-Gabriel Urma
This book is designed for readers who are already familiar with Java programming, but who want to learn about Java 8. It has a very clear format which is easy to follow, and has lots of examples to help the reader understand the game changing concepts of Java 8. The chapters are well thought out and give the reader just enough information without being overwhelming.
Refactoring: Improving the Design of Existing Code by Martin Fowler
This is another book which concentrates on the concept of how important it is to write clean code. Over the year many millions of lines of code have been written. Much of it is flawed and not as robust as it should be. This means that many programs are difficult to maintain and extend. A technique known as refactoring has emerged to improve existing code. This book has 76 examples of how you can use refactoring to bring new life to old code.