HowToDoInJava

  • Python
  • Java
  • Spring Boot
  • Dark Mode
Home / Learning Resources / Best java books for beginners

Best java books for beginners

Here is my suggestion on best available books for learning java programming – from complete beginner to competent programmer. I do not want to confuse anyone with a long list, so I have taken 1-2 books for each area of important topic you must know.

Best book to learn Core Java

1) Official Java Reference

Anytime you want to quick access any java concept online, this should be your first choice. They are enough explanatory and full of knowledge. You may find some problem if you are beginner, because it is reference material and not step-by-step guide to teach you the concepts, and to make use of this information you first know the basics, right??

2) Thinking in Java

This book should be read by every Java programmer. It’s exercises are challenging, and tutorials on Collections and concurrency are simply superb. It has lots and lots of example codes and their explanations; which make learning a bit easy.

3) Effective Java

Even “James Gosling” recommend this book by saying “I sure wish I had this book ten years ago. Some might think that I don’t need any Java books, but I need this one.”

I will recommend you to go after this book, once you are comfortable in basic java and have spent 1-2 years in actual coding. It’s full of excellent advices; and to consume those advices, you better be prepared.

Best Book to learn Java Multi-threading

4) Java Concurrency in Practice

I really admire this book and have read it’s many chapters multiple times. It’s surprisingly good book covering even minor details of java concurrency concepts and explaining in detail. It also provides you example code for teaching you the correct usage of java threads and it’s APIs.

Generics

5) Java Generics by Angelika Langer

This is free reference material available at your disposal for getting knowledge of very important generics concepts. An excellent resource. Bookmark it now !!

Design Patterns

6) Design Patterns: Elements of Reusable Object-Oriented Software

In my view the Gang of Four is the best book ever written on object-oriented design – possibly of any style of design. The book provides numerous examples where using composition rather than inheritance can improve the re-usability and flexibility of code.

I will not recommend this book to you, until you’re pretty comfortable with the basic principles of OO design. Even then you may put some efforts to grasp correct concepts. But trust me, unlike most books, however, it amply pays that investment.

7) UML Distilled

This book is the definitive reference to UML 2.0 diagramming. It will give you simple solid explanation of how UML works and how you can make most of it. A great resource.

Apart from above books, I will suggest you to browse some good java blogs/forums ( like howtodoinjava.com 🙂 ); and discuss your understanding with others, and argue with other’s understanding of java. Discussion is single most powerful tool to enhance knowledge.

Happy Learning !!

Was this post helpful?

Let us know if you liked the post. That’s the only way we can improve.
TwitterFacebookLinkedInRedditPocket

About Lokesh Gupta

A family guy with fun loving nature. Love computers, programming and solving everyday problems. Find me on Facebook and Twitter.

Feedback, Discussion and Comments

  1. Brian

    March 25, 2019

    I’ve personally enjoyed Core Java Vol I-II (by Horstmann) the most. I like the style of the book, it’s both practical and easy to follow.
    I came across a very good list of best java books, it had helped me. https://codegym.cc/groups/posts/best-java-books-for-beginners
    Hope it helps you too.

  2. Brandon

    August 5, 2017

    UML Distilled links to the Design Patterns book.

    • Lokesh Gupta

      August 5, 2017

      Thanks for heads up. Updated now.

  3. Koray Tugay

    May 19, 2016

    I would not recommend Thinking in Java for beginners.

  4. Ramakrishna

    May 16, 2016

    You should consider books by Cay ( https://horstmann.com/corejava.html and a book published in the year 2005(??) by James Gosling and other co-authors.

    It is good to start with available book (should not forget to refer official online tutorial as already mentioned by blog author). and one will find his favorite book soon.

    Thinking in Java is good but book from Cay S. Horstmann is always better choice for a novice Java and experienced.

    Though the advantages with googling and blogs cannot be ignored but there more chances of server time loss :-). unless you are landed into a good blogs like howtodoinjava.com or correct google search results. A best training institute or free java introductory course from classroom.udacity.com would help a novice learner.

    (*****) One important note is we need to read and JLS and / or java api documentation ( it could be a step 2 or 3 or another).

    And as every one knows a Java developer’s bookshelf is incomplete with having “Effective Java —- 2nd edition “.
    (*****)A good book is useful only with committed practice (one should write code without doing copy/paste as the blog author already said).

    • Ramakrishna

      May 16, 2016

      typo… “.. more chances of severe time loss with googling …); pls ignore few other typos; I did not find a way to edit it.

  5. jaihind saini

    April 11, 2016

    i still confused with this question
    the question is:
    ———–
    String x = new String(“xyz”);

    how many String objects have been created? pls explore this…….

    • Pramod

      April 19, 2016

      Two objects are created in this case.
      1. String literal “xyz” in string pool
      2. String object x in heap area.

  6. Eduard

    February 19, 2016

    Hi Lokesh. Thanks for your advices. There is wrong hyperlink for the “UML Distilled” book, you’ve specified the same one as for the “Design Patterns: Elements of Reusable Object-Oriented Software”.

Comments are closed on this article!

Search Tutorials

Java Learning Resources

  • 10 Life Lessons
  • Best Way to Learn Java
  • Best Java Books for Beginners
  • Big List of Java Frameworks
  • Top 10 Java Websites
  • 5 Top Online Java Courses
  • 5 Popular Java Frameworks
  • 5 Reasons to Migrate Legacy Systems

Meta Links

  • About Me
  • Contact Us
  • Privacy policy
  • Advertise
  • Guest and Sponsored Posts

Recommended Reading

  • 10 Life Lessons
  • Secure Hash Algorithms
  • How Web Servers work?
  • How Java I/O Works Internally?
  • Best Way to Learn Java
  • Java Best Practices Guide
  • Microservices Tutorial
  • REST API Tutorial
  • How to Start New Blog

Copyright © 2020 · HowToDoInjava.com · All Rights Reserved. | Sitemap

  • Sealed Classes and Interfaces