If you want to save time by writing less test code, take a look at my upcoming Test With Spring Course.

10 Books Every Java Developer Should Read

Old books in a bookshelf

I have read my share of software development books and I have noticed that it is very rare to find a book which I want to read more than once.

However, once in a while I find a book which teaches me new things every time when I read it. This blog post is a tribute to these rare gems.

And now, without further delay, I present to you ten books which have earned a special place in my bookshelf:

This list is based on my (subjective) opinion and it is very likely that your list will look completely different. If you think that I missed a book which should be in this list, share your opinion in the comment section.

About the Author

Petri Kainulainen is passionate about software development and continuous improvement. He is specialized in software development with the Spring Framework and is the author of Spring Data book.

About Petri Kainulainen →

9 comments… add one

  • Hi Petri,

    Some of these books are somewhat old. May be 12 -14 years old. But the concepts are still valid. Is it? Technology moves really fast. Please correct me if i am wrong.

    • Hi Akalanka,

      You are right. Some of these books are rather old but the concepts are still valid today. The only one which needs an update (urgently) is Effective Java. The second edition covers “only” Java SE 5 and Java SE 6. You can still learn a lot from it but you should be aware that it doesn’t describe the features which were introduced in Java 7 or Java 8.

      • Hi Petri,

        About your point that Effective Java needs an update: Well Joshua Bloch’s fans will be pleased to learn that he has said that an edition that covers version 8 is in the works! Hopefully, it will be some time later this year or 2016. (He said that here: https://youtu.be/EduWekviwRg?t=7m12s . That’s a fun long discussion which I suggest you all watch when you have some time).

        I’d like to add a couple of books to your list:
        1. “Java Puzzlers: Traps, Pitfalls, and Corner Cases” by Bloch again and Neal Gafter. To this day, I’m still surprised that relatively so few people recommend this book. It explores corner cases in Java through 95 puzzles. I have selected 5 of them and blogged about it; may I invite you to take a look: http://methodicalprogrammer.com/blog/5-puzzles-that-prove-you-need-to-read-java-puzzlers Personally, I rate this book as least as useful as Effective Java. If you said that we have 78 reasons to read Effective Java, then I’d say that we have 95 reasons to read Java Puzzlers :)

        2. If you’re looking for a book that covers security (about which I think we all should have some sense), then consider reading Iron-Clad Java: Building Secure Web Applications by Jim Manico and August Detlefsen. Personal rating: 5/5

        • Hi,

          Thank you for your book suggestions. I will add them all on my reading list.

  • That’s great, thanks.

  • is it useful in reading of the book “The complete reference of java 9th edition” ?

    • Unfortunately I don’t know if that book is worth reading because I haven’t read it. However, it has received very good reviews on Amazon.

  • As a Java developer, I really enjoy reading most of these books.
    I should Thank Petri for sharing this.

    • You are welcome! I am happy to hear that you enjoyed reading these books.

      By the way, you mentioned that you enjoyed reading most of these book. Did you mean that you didn’t like all of them or you just haven’t read them all? If you didn’t like all of them, I would love to hear what book / books you didn’t like.


Leave a Comment