Preparing for Java and Spring Boot Interview?

Join my Newsletter, its FREE

10 Free Java Programing Books for beginners - download, pdf and HTML

Every Java programmer loves free eBooks on Java, don't you? When I shared my collection of top 10 Java programming books, one of my readers asked me to share some free Java books as well. Doing a quick search on the internet reveals lots of free books, resources, and tutorials to learn Java. I have chosen some of the good Java books, which are FREE, available for download or you can read it online in HTML or PDF format. These books are an excellent resource for any Java beginners, as well as an experienced programmer, and since they are free, it makes absolute sense to have a look on this before buying any other book in Java.

These free Java books cover a wide range of technology including core Java, J2EE, JSP, Servlets, XML and general programming concepts. Though books like Head First Java 3rd EditionEffective Java or Java Concurrency in Practice are not free, they are worth every penny spent.

I didn't find any good FREE Java books on concurrency and multithreading, which I really wanted to include. If you come across genuine FREE multithreading books for Java programmer, then please let us know.

I have added a new free Java book, Introducing Java 8, A quick start guide for lambda expression and Stream.  A good book to learn Java8 absolutely free. It's the 11th book in this list, which started with just 7 books.

Update: 2
I have added a couple of new free Java programming eBooks from O'Reilly which will teach you latest and greatest in Java, like Dockers for Java Developers by Arun Gupta, Microservices for Java Developers by Christian Posta,  Modern Java EE Design Patterns by Markus Eisele,  Object-Oriented vs. Functional Programming by Richard Warburton, and Java: The Legend by Ben Evans.

Btw, if you want, you can also combine these free books with a comprehensive online course like The Complete Java Masterclass to get the best of both worlds. This course is not free but I bought last year with just $9 on Udemy sale. It's also most up-to-date resource and covers changes on recent Java versions up to Java 10.

16 FREE Java Books Programming PDF and HTML

Without wasting any more time, here is the list of some of the great Java books, which are absolutely FREE, you don't need to pay anything to download or read this book. All you need is an internet connection to download these books on your computer, laptop, iPhone, or Android smartphone.

Most of the new eBooks which I have added recently are absolutely free, legal and you can download them in PDF, EPUB or MOBI format for online and offline reading.

1. Java Notes for Professionals

This is an amazing free PDF book to learn Java Programming in depth. You wouldn't believe it that this book has been created by compiling StackOverflow Answers which are contributed by expert.  If you like to learn from tutorials kind of lesson then this book is for you.

Author: StackOverflow Answers
Description: This book is a compilation of StackOverFlow answers on various Java topics.
Pages: 900+ Pages

As I said, this is an amazing book,  It covers most of the topic in Java which a Java developer should learn like equals() and hashCode(), Comparable and Comparator. Operators and keywords, Object Oriented Programming with Java, Parsing XML and JSON in Java and much more. 

And, if you need, you can also combine this book with these best free Java courses from Udemy where I have shared a curated list of free Udemy courses Java developers can join to learn essential skills like core Java, Spring Boot, Docker, Maven, and much more. 

best free book to learn Java

2. Introducing Java 8

Author: by Raoul-Gabriel Urma
Description: This is the latest Java book which is FREE. Many Thanks to O'Rilley who has published an introductory book on Java 8, titled with Introducing Java 8, A quick start guide to lambda expressions and streams.

The author Raoul-Gabriel Urma, who is also an author of one of the best seller book of last year, Java 8 in Action,  explains how improved code readability and support for multicore processors were the prime movers behind Java 8 features.

He’ll quickly get you up to speed on new classes including CompleteableFuture and Optional, along with enhanced interfaces and the new Date and Time API. No doubt an excellent guide for any Java programmer willing to learn Java 8 by himself. If you follow examples given int his book, you will learn lambdas and Streams in real quick time.

There is also a free course on Udemy - Java 8 Functional Programming: Lambda Expressions Quickly, which is great for learning lambda expression, Stream API, and several functional programming concepts like map, flatmap, reduce introduced in Java 8.  You don't need to pay anything for that, all you need is a Udemy account to access that course.

free Java 8 Programming eBooks PDF download

3. Object-Oriented vs. Functional Programming

Author: by Richard Warburton
Description: This book discusses the difference between Object-oriented and Functional programming. Since Java 8 is now support some of the functional programming concepts, like lambda expressions, map, flatmap, reduce, etc, it becomes crucial to learn how to work together in both OOP and FP at the same time.

Java technologist Richard Warburton, the author of Java: JSON Fundamentals and several other courses on Pluralsight, discusses similarities between these programming paradigms and points out that both FP and OOP are actually moving closer toward each another.

If you need a free course, you can also check Object Oriented Programming (OOPs) for JAVA Certification course on Udemy. Again, it's free and you don't need to pay a single cent, all you need a Udemy account to access this course. Once you join the course, you can also access it for a life time.

4. Java: The Legend

Author: by Benjamin Evans
Description:  Java has come a long way in the last 20 years. It is no more the fancy language of developers, but it has now become the mainstream of any application development in the world. The use of Java in Android has taken Java into the even more larger domain

free Java programming books 2017

This book will take you to journey of Java programming language starting from very first version to the current Java 8 version. Benjamins Evans, author of the modern Java book, the Well-grounded Java Developer will explain to you the design decision was taken at the start, like making it platform independent and always keeping it backward compatible and how they paid off.

5. Docker for Java Developers

Author: by Arun Gupta
Description: If you have worked in Java development and production services, you know how painful it is to deploy a Java application. You have to deploy code, configuration, database changes, file systems changes, etc. Though this is the tried and tested approach and working well for a long time, it can be improved.

best fee Java books 2017

In this free Java EE eBook, Arun Gupta explains how you can use Docker to deploy Java application both on server and cloud. This can improve both deployment and startup time of your Java application in Windows, Linux, and Mac OS X.

If you need a free course, you can also check out Docker for beginners course on Udemy, again, it's completely free and more than 10,000 students have already enrolled in this course.

In this course, you will learn the basics of Docker like what is Docker and what is container and how they help developers.   You will also learn how to create a Docker image and run your application on the Docker container.  Since Docker is an extremely important tool for Java developer, I strongly suggest you learn Docker.

6. Microservices for Java Developers

Author: by Christian Posta
Description: Microservices is a new buzz word in Java world, touted to replace vast, monolithic SOA applications with hundreds and thousands of micro web services. 

In this free Java Microservice eBook, Christian Posta, a Principal Middleware Specialist/Architect at Red Hat, explain to you whether Microservice architecture is right for your organization or not.

Christian outlines both the benefits and drawbacks of Microservices and explains to them how to implement them using popular frameworks like DropWizard and Spring Boot. This free Java book is full of useful examples.

And, if you need a free course to learn Microservice, Coursera has a good one - Building Scalable Java Microservices with Spring Boot and Spring Cloud. If you don't know you can take all Coursera courses for free. You only need to pay when you need a Certificate.

free Java eBook 2017

7. Modern Java EE Design Patterns

Author: by Markus Eisele
Description: There are not many good Java EE design patterns books available in the market, forget about free books, so when I found this free Java EE eBook, I got really excited.

Since Java EE landscape is quickly changing with the advent of Microservice and it is challenging Java EE's monolithic SOA like architecture. 

In this book, Markus Eisele explains Java EE with Microservices and explores design patterns like aggregator, proxy, pipeline, etc. By the way, If you need online courses, you can check this list of Spring Microservice courses for Java developers.

free Java EE eBook

8. Data Structures and Algorithms with Object-Oriented Design Patterns in Java

Author: Bruno R. Preiss
Description: Great book to learn data structure and algorithm in Java programming language. Filled with a lot of samples but non-trivial examples of implementing different data structures, like stack, queue, linked list in Java.

Since data structure and algorithm are very important for any Java programmer and quite a common topic in Java interview, it is an absolute must to have a strong command in both. 

If you are preparing for Java job interviews, then you can also take a look at some of my favorite algorithm and data structures questions, it may help in your preparation. If you like to read the paperback edition, you can order it from Amazon as well.

Along with books, there are a lot of free courses to learn Data Structure and Algorithms. I have done some hard work and also published a list of my favorite Free Data Structure and Algorithms courses you should also check them to learn this important topic better. It's completely free.

FREE Java Programming Books

9. Java Application Development on Linux

Author: Carl Albing and Michael Schwarz
Description: A perfect Java book, if you are developing or running Java application on Linux environment, which is the case in most of the investment banks. You can download entire books as PDF, along with all example programs.

Carl Albing and Michael Schwarz have done an excellent job to put everything needed to run and support a Java program in Linux environment including how to start, stop, or kill Java process, checking logs with some handy useful UNIX commands. Paperback edition of this book is also available here on Amazon.

And, if you want to combine this book with online courses, here is a list of free Linux courses for IT professional to learn some essential Linux commands and fundamentals every Java developer should know about Linux.
free Java Linux book

10 .Core Servlets and JavaServer Pages

Author: by Marty Hall and Larry Brown
Description: Servlets and JSP are fundamental Java technologies for developing web applications in Java. Core Servlets and Java Server Pages, teaches you the basics of these technologies. You can access all chapter of this book as FREE  PDF online, they are also available for download.

The good thing about this Java books is that source code, and lecture notes are also available for FREE download. If you like to read the paper book, then you can also purchase, a paperback edition of this book here

And, here is another list of free courses to learn Servlet and JSP. You can combine both free books and courses to learn better.

Free JSP Servlet book

11. The Java Language Specification, Java SE 18 Edition (Java Series)

Author: James Gosling, Bill Joy, Guy L. Steele Jr., Gilad Bracha, Alex Buckley (Author)
Description: Official Java language specification for Java SE 7 edition is available online to view as HTML and download as PDF. 

This is the best FREE resource in Java, as it's from source and contains most up-to-date details about Java Programming language. If you like paperback edition, you can also purchase these books from Amazon here.

And, if you need online courses to go along with this book, you can also checkout this list of free online Java courses for beginners and intermediate developers. 

Java book free download

12. The Java Virtual Machine Specification, Java SE 18 Edition

Author: Tim Lindholm, Frank Yellin, Gilad Bracha, Alex Buckley
Description: Knowledge of Java Virtual Machine is significant for experienced Java developers, to get the maximum out of JVM and avoid unnecessary optimization, which can be effectively done by JIT and JVM. 

For a beginner, It's too much ask, to know more about JVM, but since it's a free Java book and you can read online it make sense to learn about JVM as much as you could. If you want to combine this book with online courses then you can also join one of these best JVM internal courses for experienced Java programmers. 

Java books PDF download

13. The Java Tutorial: A Short Course on the Basics (5th Edition)

Author: Sharon Biocca Zakhour, Soumya Kannan, and Raymond Gallardo
Description: This is the official Java tutorials from Oracle, which explains different Java concepts in the form of short courses, e.g. JDBC, JMX, JAXB. All tutorials are available online, and you can also download them for free as eBook, available in both .mobi and .epub format, nice to read in iPhone and Android phones. 

If you love paperback edition, you can also order it from Amazon. By the way, these tutorials are outstanding quality and the great way to explore different features of Java Programming language.

Good Java books PDF

14. Thinking in Java 3rd edition

Author: Bruce Eckel
Description: Thinking in Java is a Jolt Award winner and one of the classic books to learn Java programming. The third edition of this books is freely available for download, and you can download them as PDF format for the offline read. 

By the way, the fourth edition of this book is also available which covers most of new Java 5 concepts in detail, but it's NOT FREE. You can purchase that from Amazon. One more thing, first six chapters of Thinking in Java 4th edition is also available in PDF format for free download.

free Java programming books

15. Introduction to Programming Using Java, Sixth Edition

Author: David J. Eck
Description: This is another free Java book, which is available in both PDF and HTML format and teaches programming basics using Java programming language. I liked the chapter on Linked Data structure and Recursion, which explains some of the critical programming concepts with simple, non-trivial Java examples. You can also purchase the paperback edition of this book on Amazon.

16. Processing XML with Java (A Guide to SAX, DOM, JDOM, JAXP, and TrAX

Author: Elliotte Rusty Harold
Description: XML is one of the most desirable skills, along with Java. You often need to work with XML files in large projects, as it's one of the most widely used data transport formats. This Java book is a comprehensive and up-to-date collection of various XML technology and how to use them with Java programming language. 

You will learn about different XML parsers, like SAX and DOM, JDOM, XPATH, and XSLT, etc. If your work involves, XML and Java, then this is the book you should read. This Java book is freely available for online readers, and you can buy a paperback edition from any book store, including Amazon.

17. Think Java (How to Think Like a Computer Scientist)

Author: by Allen B. Downey
Description: Don't confuse this book with Thinking in Java, it's a different one. This is another excellent Java book for beginners which is available for FREE. You can download it as PDF or read it online on their site. It covers programming basics, object-oriented concepts, essential software development technique, debugging, etc. 

It's actually tailored for students, who want to give Computer Science advanced placement (AP) exam, but turn out be an excellent book for any beginner. If you just started learning Java, give it a try. Paperback edition of this book is available on Amazon here.

That's all guys, these are some really useful FREE Java books, especially the latest Introducing Java 8 book. As we all love free resources, download them as PDF or view online them as HTML. If you have a slow Internet connection, then it's better to download PDF eBooks and read them offline.

By the way, nothing can substitute a paperback book, eBooks are good but not for continuous reading. So don't forget to have a paperback edition of at least one Java book, when you start learning Java. 

And, If you are an absolute beginner, then it's worth buying Head First Java 3rd Edition as well, one of the most recommended books for Java beginners. The new 3rd edition is also available now which covers Java 17, this means Head First Java is again become the best book to learn Java for beginners. 

best book to learn Java Programming for beginners

If you like free books, here are some more list to explore
  • 10 Books Every Programmer Should Read (see here)
  • 10 Free Courses to learn Spring Framework (free courses)
  • 10 Algorithm Books for Programmers (see here)
  • 5 Good Books to Learn Java 8 and Functional Programming (read)
  • 5 Books to learn Spring Framework for Java programmers (see here)
  • 5 Good Books to learn Hibernate for Java JEE developers (see here)
  • 5 Books to Improve Your Coding (books)
  • 5 Book to Learn SQL and Database(books)
  • Free JavaScript books PDF (see)
  • Free jQuery eBooks PDF - Online read (see)
  • Free Struts Framework books for Java EE programmers (books)
  • Free Data Structure and Algorithm Books (download)
  • Free Apache Maven eBooks (see)
  • Free Scala Programming Books and PDF (read)
  • 10 Free Spring Boot Courses for Java developers (spring boot)

Thanks for reading this article so far. If you like these free Java books then please share with your friends and colleagues. If you have any questions or feedback then please drop a note.

P. S. - If you are looking for some free online courses to learn Java, here is a similar list I have prepared with my favorite free Java online courses for beginners and intermediate developers. You can also join them to learn Java better and in a more interactive way.


  1. I cant fine the PDF in the first link. And can you suggest best DS & A book in Java.. I'm good with java but very very poor with DS and DS is required in all the good companies so I need your feedback.

  2. Really amazing for Java Book for me thanks Sir

    1. concepts in detail is NOT FREE. you can purchase that from

  3. very good collection of books.
    Thanks a lot.

  4. I can't believe you exist until i found you. Thanks a lot for shaping my java and DS. Do more!

  5. Excellent choice of books :) :) :)

  6. please i am having a hard time trying to figure out how multidimensional arrays work...can you suggest to me any good book

  7. If you seriously want to become a good programmer , I suggest to take a look at these books to learn Algorithms. You should be good at algorithm and data structure to write good code. Once you done, that you can look at these books to immprove coding skill .

  8. Check out this free ebook, Docker for Java Developers by Arun Gupta
    Package, Deploy, and Scale with Ease, you can download the PDF from here

  9. Another free Java ebook is "Neural Network Programming with Java" by Packt Publication, you can download PDF here

  10. Thanks for all the info, but where to start if you don't know jack about java?

    1. Just start with Head First Java 2nd edition book, best book to learn Java if you don't know jack about Java.

  11. I am very grateful for this help. Thanks

  12. Can anyone suggest books that i can read for biometrics. I want to build an application that use biometrics for authentication

  13. Data Structures and Algorithms By Bruno..I am not able to find the pdf of this book online. Can anybody help me to get it?

  14. Anybody has the link to download the pdf of Data Structures and Algorithms with Object-Oriented Design Patterns in Java?

  15. I am a 61 yr old senior QA analyst with a programming background from many years ago. I worked in PL/1 and C early in my career. In the mid-90s I was QA lead on a project that was using C++ so I took a C++ class at a local community college. But that is all I know about object oriented programming. Now I need to learn Java so that I can use Selenium to do test automation. Where do I start? Which book(s) do I read first?

    1. Hi Ernie,
      Selenium APIs support a variety of languages , also there is a record an play plugin for creating boiler plate code.
      You can also have a look into TestNG or JUnit for test suite creation and execution.

      Not much of object orientedness involved though.


    2. Hello Ernie, you can start with Java as you need that to create JUnit or TestNG tests. I have recently shared a couple of good courses for manual testers who wants to become automated testing expert covering Java, Selenium, JUnit etc, you may want to look at here.

  16. Is this my books are very beginners

  17. Please house i dont know jack about programming, where do i start from?

  18. 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.
    Hope it helps you too.

  19. I need javascript and html5 and css3 book in pdf form


Feel free to comment, ask questions if you have any doubt.