We are recommending best 10 java programming language books which help to learn the programming language fundamentals. We selected books based on our experience and explained the factors involved with each book selection. We didn’t rate any book and each book has good topics coverage. We have a lot of java programming material which is freely available on the internet. But, when the candidate starts reading from the internet, they may deviate from learning the programming language and may not be able to cover all the topics. Books help to learn the programming language in a focused way without much disturbance.
1) Effective Java 2nd Edition by Joshua Bloch
Effective java helps to understand in-depth concepts from java programming language, write cleaner and more reusable code. This book explains good practices using 78 items with 11 different topics. It provides best-practice solutions for the programming challenges from real application development. This book is not explaining the programming language. So, the reader should understand the java programming language before start this book. This book borrowed the format from Effective C++. Each chapter in the book consists of several “items” presented in the form of a short, essay to understand, and outstanding code examples. The oracle The Java Tutorial recommend to read this book.
JDK version: 6
Source code: https://github.com/marhan/effective-java-examples
2) The Java Tutorial: A Short Course on the Basics 6th Edition by Raymond Gallardo, Scott Hommel, Sowmya Kannan, Joni Gordon, Sharon Biocca Zakhour
The Java Tutorial is a complete introduction to the latest version of java programming language. The candidate can use this book for learning the java programming language. This book is based on oracle tutorial which is available oracle website. This book helps for preparing the oracle certified java programmer certification exam. It may not require any pre-requirement. If the candidate knows about object-oriented programming, they can easily understand the programming concepts.
JDK Version: 8
Source code: https://docs.oracle.com/javase/tutorial/
3. Java Concurrency in Practice by Brian Goetz , Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, Doug Lea
Java Concurrency in Practice explains about threads in java programming language. The candidate must know java programming language before start this book. The candidate should understand the threading concepts for developing concurrent applications with improvements to java virtual machine. It provides both theoretical explanation and coding example which helps to understand the threading concepts well. It also provides testing methodologies for developing concurrent applications. The oracle The Java Tutorial recommend to read this book.
JDK version: 5
Source code: http://jcip.net/
4. Head First Java, 2nd Edition by Kathy Sierra, Bert Bates
Head first java explains the java programming language fundamentals visually. It explain the programming language using the combination of puzzles, strong visuals and explain the core concepts. It provides complete introduction to object-oriented concepts and java programming language. It provides the good approach with visualization of programming concepts to understand easily.
JDK Version: 5
Source code: http://www.headfirstlabs.com/books/hfjava/
5. Thinking in Java 4th Edition by Bruce Eckel
Thinking in java explain java programming fundamentals including object-oriented programming concepts and programming fundamentals. This book assumes that you have some programming familiarity. So, this book requires the basic programming knowledge. This book explains the code concepts, framework, and multiple design pattern through different example. This book has 500+ working Java programs in 700+ compiling files, rewritten for this edition and Java 6.
JDK Version: 6
Source Code: http://www.mindviewinc.com/Books/TIJ4/
6. Java Puzzlers: Traps, Pitfalls, and Corner Cases by Joshua Bloch, Neal Gafter
Java Puzzlers is a programming book which help to test the candidate in-depth programming knowledge. This book is not beginner book or use to learn the programming language. It explains 95 puzzles that help to understand the corner cases in java programming language. All the puzzles group into different subjects and explain the concepts using the programming code.
JDK Version: 6
Source Code: http://www.javapuzzlers.com/
7. Java, A Beginner’s Guide, 6th Edition by Herbert Schildt
Java beginner guide helps to learn the java programming language fundamentals. This book explains the keywords, syntax and language contracts from code java programming language. It also provides the helpful tips, self-test and Question and answer session which helps to get in-depth knowledge about the java programming language.
JDK Version: 8
Source Code: http://www.mhprofessional.com/product.php?isbn=0071809252
8. Java 8 in Action: Lambdas, Streams, and functional-style programming 1st Edition by Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft
Java 8 in Action explain the new futures of java 8. It covers the new futures like lambda expression, streams, and enhanced concurrency support. The candidate should understand java programming language and object oriented programming concepts before start learns this book. It provides java 8 powerful futures, refactor the existing code to java 8, functional style programming and more question, answer session.
JDK version: 8
Source code: http://www.manning.com/urma/
9. OCA/OCP Java SE 7 Programmer I & II Study Guide 1st Edition by Kathy Sierra, Bert Bates
OCA/OCP Java SE 7 Programmer I & II Study Guide help to clear the Oracle Java programming certification. If the candidate is planning for java certification after learning the programming fundamentals, the candidate can use this study guide. The authors explain the concept well and mainly useful for completing java certification. Each chapter provides the exercises, certification summary and self-test which help to prepare the certification. This book contains the Oracle certified association and oracle certified programmer exam.
JDK Version: 7
10. A Programmer’s Guide to Java SCJP Certification 3rd Edition by Khalid Mughal, Rolf Rasmussen
A Programmer’s Guide to Java is another book for java certification. This book covers all exam topics including code examples, programming challenges, and mock exam. If the candidate wants learn the programming language and prepare the java certification exam, they can use this book. It also gives the complete mock exam with new questions, object-oriented programming and uses Unified modeling language
JDK Version: 6
Source code: http://www.ii.uib.no/~khalid/pgjc3e/