Hello guys, if you want to learn Java and looking for the best books to learn Java then you have come to the right place. In the past, I have shared best Java courses, websites, and even a complete Java Developer RoadMap and in this article, I am going to share best books you can read to learn Java programming in depth. These top Java programming books are some of the good books to learn Java and I would say some of them are simply the best Java books ever published. Whenever a programmer starts learning Java programming language, the first question he asks is "Which book should I refer to learn Java?", or "What is the best book to learn Java for beginners?" or "Can you tell me some good books to learn Java?" .That itself says how important Java books are for programmers especially beginners.
Despite having so many free resources available in Java, like tutorials, online courses, tips, blogs and code examples, Java books have their own place because of two reasons:
Though I have read many of them already, like I have read Effective Java almost 3 to 4 times, I have always learned something new. They are kind of best Java books available today and equally useful for beginners, experienced and advanced Java programmers.
It doesn't matter whether you are completely new in Java or doing Java programming for 5 years, you will definitely learn a lot of new things by going through this book.
Having said that not all book is equally suitable for all programmers, for Java beginners, Head First Java 3rd Edition is the best book to start learning and for experienced Java developer, Effective Java is the good book to start with.
The much awaited 3rd edition of Head First Java by Kathy Sierra and Bert Bate is now available and its updated for Java 17. Head First Java is one the best Java book for any programmer who is new in both programming and Java. The head-first way of explanation is quite a phenomena and I really enjoyed whenever I read their books.
The Head First Java covers essential Java programming knowledge about class, object, Thread, Collection, language features like Generics, Enum, variable arguments or auto-boxing, etc.
They also have some advanced sections on Swing, networking and Java IO which makes them a complete package for Java beginners. This should be your first Java book if you are learning from scratch.
In short, the most interesting Java programming books for beginners which is equally good for intermediate Java developers as well. Now that the updated 3rd editions is available you can even learn Modern Java in Head First Style. If you like online courses over books then you can also check out Udemy's The Complete Java Masterclass course, which effectively complements this book and can speed up your learning.
Effective Java is one of the best or top Java books in my record and most enjoyable as well. I have high regard for Joshua Bloch (writer of this book) for his contribution to the Java collection framework and Java concurrency package.
Effective Java is best for a seasoned or experienced programmer who is well versed in Java programming and wants to share their skill by following programming best practices, Java best practices and eager to listen from someone who is contributed in Java development kit.
Effective Java as book scores high on quality, content, and way of explanation. Reading this Java book is a pleasant experience. Another important point of Effective Java is Item-based structure which breaks the whole book in small items and every Item is complete in itself, so you can read this book while traveling or short duration as well.
Java Concurrency in Practice is another classic from Joshua Bloch, Doug Lea, and the team. Probably the best Java book in Concurrency and multi-threading and one of the must-read for core Java developers.
The strength of Concurrency Practice in Java are:
1. This book is very detailed and captures minor details of multi-threading and concurrency as well.
2. Focus, instead of focusing on core Java classes this book focus on concurrency issues and problems like deadlock, starvation, thread-safety, race conditions and then present ways to solve them using Java concurrency classes.
This book is an excellent resource to learn and master Java concurrency package and classes like CountDownLatch, CyclicBarrier, BlockingQueue or Semaphore. This is the biggest reason I like to read this Java book and read again and again.
Java Generics and Collection by Naftalin and Philip Wadler from O'Reilly is another good book on Java, which I initially forgot to include in my list, but including it now as requested by many readers.
I like this book because of its content of Generics and Collections, which are core areas of Java programming language. Strong knowledge of Java Collections and Generics are expected from an experienced programmer and these books help in that area.
This book explains each of the Collection interfaces like Set, List, Map, Queue and their implementation and compares how well they perform in a different situation. I really loved their comparison chart at the end of each chapter, which gives you a good idea about when to use particular Java collection classes, like ArrayList, HashMap, or LinkedHashMap.
Another good book in Java to learn about JVM internals, Garbage collection, JVM tuning, profiling, etc and I highly recommend every senior Java developer to read this book. This is also one of my personal favorites.
As we are moving gradually started from beginners level to intermediate and senior level. Java performance Book is all about performance monitoring, profiling, and tools used for Java performance monitoring.
This is not a usual programming book, Instead, It provides details about JVM, Garbage Collection, Java heap monitoring, and profiling application.
The updated second edition delves into the intricacies of Java application performance, covering features, tools, and processes for improving performance on both Java 8 and 11 LTS releases. Oaks provides insights into the impact of various Java platforms and compilers, the workings of Java garbage collection, and principles for effective performance testing.
I loved their chapter on JVM overview and it's a must-read to learn about JVM in simple language. Just remember this Java book is advanced in nature and expects that the reader has experience in Java.
Java Puzzlers is another worth reading Java book from Joshua Bloch, this time with Neal Gafter. This book is about corner cases and pitfalls in the Java programming language.
Java is more safe and secure than C++ and JVM does a good job to free the programmer from error-prone memory allocation and deallocation, but still, there Java has corner-cases which can surprise even experienced Java programmer.
This Java book presents such Java pitfalls and explains them in detail. A good Java book if you love puzzles, You can even include many of these in core Java interviews to check how deep their Java knowledge is.
I don't rate it as high as "Effective Java" and "Java Concurrency in Practice" but still, you can give it a go, particularly to check your knowledge about Java and its corner cases, which will help you to answer some of the tricky Java questions from interviews.
In order to get most of this Java book, tries to solve the puzzles by yourself and then look into explanations to make your knowledge more concrete.
Another good book on Java programming and design principles from the Head First series. The Head First Object-Oriented Analysis and design book can be read in conjunction with Head First Design patterns.
This book focuses on Object-oriented design principles like favor Composition over inheritance, programming for interface than implementation, DRY, etc.
One part of learning Java is writing good code and following best practices and this book is great in educating programmers about them.
Knowledge gained from this book is applicable to many object-oriented programming languages and will overall improve your understanding of code and OOP design principles.
Many would agree that this is one of the best Java books and the strengths of these books are there to the point and intelligent examples. This is one of the complete books in Java and can be used as a reference as well. There is a chapter on Java memory-mapped IO from Thinking in Java which is my favorite.
I would say this is another Java book that demands space in Java programmer's shelf and must-read Java book for beginners. If you don't like Head First teaching style and rather need a beginner Java book with plain old example style, Thinking in Java is a good choice.
It is detailed, matured and frequently updated, but, if you need more choices, you can check out these core Java books for beginners as well.
This book is written by Simon Harrer, Jörg Lenhard, and Linus Dietz, some of the well-known names on Java and clean code circle. It's not a surprise that the book is filled with clean code advice.
If you know, one of the best ways o improve your coding skill is to compare your code with an expert programmer but not everyone gets a chance to work with experts. This book provides you that rare opportunity where you can compare your code with how a Java expert would write it and then learn from your mistakes and new discoveries.
This book provides hands-on advice to level up your coding style through small and understandable examples that compare flawed code to an improved example. In the process, you will learn handy tips and tricks, as well as common bugs an experienced Java programmer needs to know.
In short, one of the practical, hands-on and well-explained book which every Java developer should read. If you like Effective Java then I think you will love this book as well.
This book is not just easy to read but also has received positive reviews, boasting a 4.5 out of 5-star rating from 75 reviewers. Recognizing the growing importance of computational thinking and digital literacy in high schools across the US, Payne aims to demystify Java, presenting it as an approachable language for those frustrated or intimidated by its complexity.
The book emphasizes a hands-on approach, offering practical projects that allow readers to quickly build real, functioning applications. From familiarizing oneself with JShell, Java's interactive command line shell, to creating a range of applications such as a guessing game, a secret message encoder, and a multitouch bubble-drawing app, the book covers essential programming concepts in a clear and engaging manner.
You will really appreciate the easy pace, clear introductions, and the opportunity to build a foundation in Java to code more confidently. Overall, Learn Java the Easy Way stands out as a valuable resource for anyone looking to grasp Java programming effortlessly and efficiently.
Modern Java in Action: Lambdas, Streams, Functional and Reactive Programming, 2nd Edition, authored by Raoul-Gabriel Urma, Mario Fusco, and Alan Mycroft, stands as a definitive guide for Java developers seeking to master the latest features and techniques introduced in Java 9 and beyond. Earlier this book was named "Java 8 in Action" but slowly it was updated to cover higher Java version and title was changed to Modern Java in action.
- They are written by programmers who are the authority in the subject
- They cover the subject with more details and explanation.
Though I have read many of them already, like I have read Effective Java almost 3 to 4 times, I have always learned something new. They are kind of best Java books available today and equally useful for beginners, experienced and advanced Java programmers.
It doesn't matter whether you are completely new in Java or doing Java programming for 5 years, you will definitely learn a lot of new things by going through this book.
Having said that not all book is equally suitable for all programmers, for Java beginners, Head First Java 3rd Edition is the best book to start learning and for experienced Java developer, Effective Java is the good book to start with.
13 Best Books to Learn Java Programming in Depth
Here is my collection of Java books, which I suggest to every programmer who wants to learn Java. It contains books for both beginners and experienced programmers having 2 to 5 years of experience.
It has books to cover different areas of Java, like Core Java Fundamentals, Java Collection framework, Multithreading and Concurrency, JVM internals and Performance tuning, Design Patterns, etc.
It has books to cover different areas of Java, like Core Java Fundamentals, Java Collection framework, Multithreading and Concurrency, JVM internals and Performance tuning, Design Patterns, etc.
1. Head First Java 3rd Edition [Covers Java 17]
The Head First Java covers essential Java programming knowledge about class, object, Thread, Collection, language features like Generics, Enum, variable arguments or auto-boxing, etc.
They also have some advanced sections on Swing, networking and Java IO which makes them a complete package for Java beginners. This should be your first Java book if you are learning from scratch.
In short, the most interesting Java programming books for beginners which is equally good for intermediate Java developers as well. Now that the updated 3rd editions is available you can even learn Modern Java in Head First Style. If you like online courses over books then you can also check out Udemy's The Complete Java Masterclass course, which effectively complements this book and can speed up your learning.
Head First Design Pattern is another top-class Java book from Head First lab, I guess, this is so far their best title. The 2nd edition of this best design pattern book is also now available which means you can learn both Java and design pattern in Head First Style.
When I started reading this book back in 2006, I didn't much about design patterns in Java, how they solve common problems, how to apply design patterns, what benefits they provide and all sorts of basic things but after reading this Java book I benefited immensely.
There is the first chapter on Inheritance and Composition, which is simply fantastic and promote best practices by first introducing a problem and then the solution. They also have lots of bullet points, exercises, memory maps which help you to understand design patterns much quickly.
When I started reading this book back in 2006, I didn't much about design patterns in Java, how they solve common problems, how to apply design patterns, what benefits they provide and all sorts of basic things but after reading this Java book I benefited immensely.
There is the first chapter on Inheritance and Composition, which is simply fantastic and promote best practices by first introducing a problem and then the solution. They also have lots of bullet points, exercises, memory maps which help you to understand design patterns much quickly.
If you want to learn core Java design patterns and Object-oriented design principles, this is the first Java book you should refer to. Head First design pattern is written by Kathy Sierra and the team. Btw, If you are looking for a course on GOF or object-oriented design patterns, I suggest you check out the Design Pattern Library, one of the best courses I have attended on design patterns so far.
One good news about this book is that the new edition of this book is also updated for Java SE 8, which will teach you how to develop classic GOF design patterns using Java 8 features like lambda expressions and streams.
Effective Java is one of the best or top Java books in my record and most enjoyable as well. I have high regard for Joshua Bloch (writer of this book) for his contribution to the Java collection framework and Java concurrency package.
Effective Java is best for a seasoned or experienced programmer who is well versed in Java programming and wants to share their skill by following programming best practices, Java best practices and eager to listen from someone who is contributed in Java development kit.
Effective Java as book scores high on quality, content, and way of explanation. Reading this Java book is a pleasant experience. Another important point of Effective Java is Item-based structure which breaks the whole book in small items and every Item is complete in itself, so you can read this book while traveling or short duration as well.
On contents, Effective Java is a collection of Java programming best practices ranging from static factories, serialization, equals and hashcode to generics, enum and varargs and reflection.
I recommend reading Effective Java Third Edition which was updated for Java 9 and covers Java 8 features which is now the backbone of Java application development. It has a full chapter on lambdas and Stream which a must read for both beginner and experienced Java programmers.
Java Concurrency in Practice is another classic from Joshua Bloch, Doug Lea, and the team. Probably the best Java book in Concurrency and multi-threading and one of the must-read for core Java developers.
The strength of Concurrency Practice in Java are:
1. This book is very detailed and captures minor details of multi-threading and concurrency as well.
2. Focus, instead of focusing on core Java classes this book focus on concurrency issues and problems like deadlock, starvation, thread-safety, race conditions and then present ways to solve them using Java concurrency classes.
This book is an excellent resource to learn and master Java concurrency package and classes like CountDownLatch, CyclicBarrier, BlockingQueue or Semaphore. This is the biggest reason I like to read this Java book and read again and again.
3. One more strong point of Concurrency practice in Java book is their No nonsense Examples, examples in this book are clear, concise and intelligent
4. Explanation: the book is good on explaining what is wrong and why its wrong and how to make it right which is essential for Java book to succeed.
4. Explanation: the book is good on explaining what is wrong and why its wrong and how to make it right which is essential for Java book to succeed.
In short, one of the best books to learn concurrency and multi-threading in Java. The content is definitely advanced from a beginner's perspective but surely, a must-read book for experienced Java programmers. Btw, if you find some sections of the book difficult to understand then you are not alone, but thankfully Dr. Heinz Kabutz has simplified them in his Java Concurrency in Practice Bundle course.
Java Generics and Collection by Naftalin and Philip Wadler from O'Reilly is another good book on Java, which I initially forgot to include in my list, but including it now as requested by many readers.
I like this book because of its content of Generics and Collections, which are core areas of Java programming language. Strong knowledge of Java Collections and Generics are expected from an experienced programmer and these books help in that area.
This book explains each of the Collection interfaces like Set, List, Map, Queue and their implementation and compares how well they perform in a different situation. I really loved their comparison chart at the end of each chapter, which gives you a good idea about when to use particular Java collection classes, like ArrayList, HashMap, or LinkedHashMap.
Another good book in Java to learn about JVM internals, Garbage collection, JVM tuning, profiling, etc and I highly recommend every senior Java developer to read this book. This is also one of my personal favorites.
As we are moving gradually started from beginners level to intermediate and senior level. Java performance Book is all about performance monitoring, profiling, and tools used for Java performance monitoring.
This is not a usual programming book, Instead, It provides details about JVM, Garbage Collection, Java heap monitoring, and profiling application.
Java Performance: In-Depth Advice for Tuning and Programming Java 8, 11, and Beyond, 2nd Edition, authored by Java expert Scott Oaks, stands as a practical guide for developers and performance engineers seeking to enhance the performance of Java applications.
With a notable 4.6 out of 5-star rating from 99 reviews, this book challenges the conventional separation of coding and testing expertise by emphasizing that anyone working with Java should possess a deep understanding of how code behaves within the Java Virtual Machine (JVM) and the tunings that can optimize performance.
The updated second edition delves into the intricacies of Java application performance, covering features, tools, and processes for improving performance on both Java 8 and 11 LTS releases. Oaks provides insights into the impact of various Java platforms and compilers, the workings of Java garbage collection, and principles for effective performance testing.
The book also explores new technologies like ahead-of-time compilation and experimental garbage collections, offering a forward-looking perspective. With a focus on production-supported releases and features, Java Performance is a valuable resource for minimizing the impact of garbage collectors, addressing performance issues in Java APIs, and optimizing Java-driven database application performance.
I loved their chapter on JVM overview and it's a must-read to learn about JVM in simple language. Just remember this Java book is advanced in nature and expects that the reader has experience in Java.
Both beginners and an intermediate programmer can benefit from this book but It's good to have some Java experience under your belt before reading this book. So far the best Java book on performance monitoring. This is another, must-read Java book if you are serious about performance in Java programming language.
Java Puzzlers is another worth reading Java book from Joshua Bloch, this time with Neal Gafter. This book is about corner cases and pitfalls in the Java programming language.
Java is more safe and secure than C++ and JVM does a good job to free the programmer from error-prone memory allocation and deallocation, but still, there Java has corner-cases which can surprise even experienced Java programmer.
This Java book presents such Java pitfalls and explains them in detail. A good Java book if you love puzzles, You can even include many of these in core Java interviews to check how deep their Java knowledge is.
I don't rate it as high as "Effective Java" and "Java Concurrency in Practice" but still, you can give it a go, particularly to check your knowledge about Java and its corner cases, which will help you to answer some of the tricky Java questions from interviews.
In order to get most of this Java book, tries to solve the puzzles by yourself and then look into explanations to make your knowledge more concrete.
Another good book on Java programming and design principles from the Head First series. The Head First Object-Oriented Analysis and design book can be read in conjunction with Head First Design patterns.
This book focuses on Object-oriented design principles like favor Composition over inheritance, programming for interface than implementation, DRY, etc.
One part of learning Java is writing good code and following best practices and this book is great in educating programmers about them.
Knowledge gained from this book is applicable to many object-oriented programming languages and will overall improve your understanding of code and OOP design principles.
9. Thinking in Java
Thinking in Java book is written by Bruce Eckel who is also the author of Thinking in C++ and he uses his unique style to teach Java concepts.Many would agree that this is one of the best Java books and the strengths of these books are there to the point and intelligent examples. This is one of the complete books in Java and can be used as a reference as well. There is a chapter on Java memory-mapped IO from Thinking in Java which is my favorite.
I would say this is another Java book that demands space in Java programmer's shelf and must-read Java book for beginners. If you don't like Head First teaching style and rather need a beginner Java book with plain old example style, Thinking in Java is a good choice.
It is detailed, matured and frequently updated, but, if you need more choices, you can check out these core Java books for beginners as well.
10. Java By Comparison: Become a Java Craftsman in 70 Examples
This is another great book for Java programmers who really want to hone their Java skills and become a Java craftsman. This is not the book about syntax and semantics but how to do real-world things in a better way. If you want to become a professional Java developer which every company wants to hire, then this book is for you.This book is written by Simon Harrer, Jörg Lenhard, and Linus Dietz, some of the well-known names on Java and clean code circle. It's not a surprise that the book is filled with clean code advice.
If you know, one of the best ways o improve your coding skill is to compare your code with an expert programmer but not everyone gets a chance to work with experts. This book provides you that rare opportunity where you can compare your code with how a Java expert would write it and then learn from your mistakes and new discoveries.
This book provides hands-on advice to level up your coding style through small and understandable examples that compare flawed code to an improved example. In the process, you will learn handy tips and tricks, as well as common bugs an experienced Java programmer needs to know.
In short, one of the practical, hands-on and well-explained book which every Java developer should read. If you like Effective Java then I think you will love this book as well.
11. Learn Java the Easy Way: A Hands-On Introduction to Programming
Learn Java the Easy Way: A Hands-On Introduction to Programming by Bryson Payne is a comprehensive guide designed to make Java programming accessible and enjoyable for learners of all levels.This book is not just easy to read but also has received positive reviews, boasting a 4.5 out of 5-star rating from 75 reviewers. Recognizing the growing importance of computational thinking and digital literacy in high schools across the US, Payne aims to demystify Java, presenting it as an approachable language for those frustrated or intimidated by its complexity.
The book emphasizes a hands-on approach, offering practical projects that allow readers to quickly build real, functioning applications. From familiarizing oneself with JShell, Java's interactive command line shell, to creating a range of applications such as a guessing game, a secret message encoder, and a multitouch bubble-drawing app, the book covers essential programming concepts in a clear and engaging manner.
You will really appreciate the easy pace, clear introductions, and the opportunity to build a foundation in Java to code more confidently. Overall, Learn Java the Easy Way stands out as a valuable resource for anyone looking to grasp Java programming effortlessly and efficiently.
With a remarkable 4.5 out of 5-star rating from 186 reviews, this Manning publication takes a deep dive into modern Java applications, emphasizing concepts such as microservices, reactive architectures, and streaming data.
The book's structure is thoughtfully organized, covering fundamental topics such as lambda expressions, streams, and the Java Module System. It also explores functional-style data processing, effective programming with streams and lambdas, everyday Java practices, enhanced Java concurrency, and the future evolution of functional programming in Java.
The authors connect theoretical concepts with practical applications, using clear examples to demonstrate how new features of the language can be implemented in real-world scenarios.
Aimed at developers familiar with core Java, Modern Java in Action provides a comprehensive resource for upgrading skills to meet the challenges of contemporary software development.
With a focus on clarity and attention to detail, this book proves to be an essential companion for anyone looking to stay abreast of Java's ongoing evolution. I highly recommend this book to all Java developer, irrespective of their experience level.
13. Think Java: How to Think Like a Computer Scientist
Think Java: How to Think Like a Computer Scientist, 2nd Edition, authored by Allen Downey and Chris Mayfield, is a widely acclaimed hands-on introduction to computer science and programming, trusted by numerous universities and high schools globally. I mean one of the best computer science book for Java programmers.
With an impressive 4.6 out of 5-star rating from 112 reviews, this book is known for its concise approach, emphasis on vocabulary, and an engaging, informal tone, making it particularly accessible for readers with minimal or no programming experience.
The authors start with fundamental programming concepts and guide readers through a gradual progression to advanced object-oriented techniques. In this updated and expanded edition, Downey and Mayfield present programming as a problem-solving tool, introducing material week by week with exercises to reinforce learning.
Covering nearly every topic required for the AP Computer Science A exam and Java SE Programmer I certification, the book encourages a step-by-step understanding of complex concepts with multiple examples. By focusing on topics such as input and output, decisions and loops, classes and methods, strings and arrays, recursion, and polymorphism,
Think Java not only imparts technical knowledge but also cultivates problem-solving skills and creative thinking in programming. The emphasis on debugging and choosing effective program development methods further enhances the book's value for learners at various levels. I particularly recommend this books to beginners and Java and programming for better learning.
This was my list of top Java programming books and I would say best of a lot. I have read all the books, some of them I am still reading and a couple of them like Effective Java and Head First series, I have read a couple of times. Many programmers ask me about which books they start, which Java book they read now. I hope you will find some good Java books in this collection.
Though for better learning I also recommend combining this book with online Java courses, which gives you active learning experience. Once you learn Java you can also learn Spring Framework and Spring Boot as those are the two most essential framework for Java developers and you will need them while working in any Java project.
Other Java Articles you may like to explorer:
P.S. - If you are looking for some FREE Java books which are available to read online or download as PDF, then see my other post about 10 Free Java books to learn Programming.
P.P.S. - If you are looking for great books to learn the latest version of Java like Java 8, then you should see my other post about 5 books to learn Java 8.
P.P.P.S - If you are looking for some online courses to learn Java from scratch then you can also check out this list of 10 best courses to learn Java on Medium.
Other Java Articles you may like to explorer:
- The Java Developer RoadMap
- 10 Places to Learn Java Programming for FREE
- 10 Tools Every Java Developer Learn
- Top 5 Courses to learn Spring Boot in depth
- 10 Programming languages to Learn in depth
- Top 5 Courses to Learn Hibernate and JPA
- 10 Books Java Developers Should Read
- Top 5 Websites to learn Java Coding for FREE
- 10 Frameworks Java and Web Developer Should learn
- 20 Libraries Java developer should know
- Top 5 Courses to learn JVM Internals and Java Performance
- My favorite free courses to learn Java in depth
- Top 5 courses to learn Spring Framework in Depth
- 10 Free courses to learn Maven, Jenkins, and Docker for Java developers
P.S. - If you are looking for some FREE Java books which are available to read online or download as PDF, then see my other post about 10 Free Java books to learn Programming.
P.P.S. - If you are looking for great books to learn the latest version of Java like Java 8, then you should see my other post about 5 books to learn Java 8.
P.P.P.S - If you are looking for some online courses to learn Java from scratch then you can also check out this list of 10 best courses to learn Java on Medium.
Good list of Java books but unfortunately no book for Servlet, JSP and EJB. Can you please suggest good book for Servlet and JSP which not only gives basic knowledge but some advanced knowledge related to web application development e.g. session management, security issues like SQL injection, session fixation etc
ReplyDeleteYou can try murach servalets and jsp and head first servalets and jsp
DeleteWhy not include two more Java book and made this list as Top 10 Java programming books :), here is my suggestion of two more Java books
ReplyDelete1) Java language Specification - free available
2) Java Virtual Machine Specification - free
Both of them must be read at least one time in life by any one who claims to be Java developer, agree ?
Out of these which one is the best book to learn Java programming ? If I have to start learning Java without any programming experience which one is the best Java book ?
ReplyDeleteHead first java
DeleteWhich one is best Java book in your opinion? I will say Effective Java , but that is not best Java book for beginners, only for experienced Java programmer. Best Java books for beginners to learn Java programming is still, Thinking in Java.
ReplyDeleteI was searching for a good list of Java programming books from long time, which is easy to understand and doesn't bogged you down with its weight, many of these Java books I find really interesting to read.
ReplyDeleteWhich book is best Java programming book for beginners? By beginners I mean who doesn't know programming or coding.
ReplyDeleteGo for black book by P Nageshwar Rao or Head First is also good for beginners
DeleteNice collection..Thank you for sharing.
ReplyDelete@Rohan, Please grab Head first java to start with.
Also, if you want deep understanding of objects then go for first few chapters of Thinking of Java.
Ah! good list.. I love "Thinking in Java" :)
ReplyDeleteTo append to the list http://shop.oreilly.com/product/9780596007829.do
:)
I 100% agree with your #1 choice, it is a great book and has served me well, the explanations are easy to follow and the book keeps you engaged. It's deffinitely worth buying!
ReplyDeleteIf you have to suggest just one book, Which one would be the best Java book in your opinion?
ReplyDeleteOne book, which is missing is Java Generics and Collections.
ReplyDeleteI found Murach's Java Programming book to be the best.
ReplyDeleteClear & precise, with step by step guidelines. It's is like instructional manual format which make it very easy to understand.
Trust me on this (m also a beginner myself & giving my review after reading the book:))
I am sure you might find it beneficial even if you are complete new to Java.
Check www.murach.com
JSP, Servlets 2 is available
My list of must read books for Java developers is slightly different than yours, as it contains some classical books from design and software development in general.
ReplyDelete1) Thinking in Java
2) Clean Code
3) Pragmatic Unit Testing in Java with JUnit
4) Java Concurrency in Practice
5) Data Structures and Algorithms in Java by
Michael T. Goodrich, and Roberto Tamassia
Sir you clearly missed best book in Java Head first java
DeleteHey.
ReplyDeleteI have read in detail and sub detail all the posts on "3 ways to resolve noclassdeffounderror in java" and still....
I was able to do a simple hellp world from the windows command line then whe I tried somthing more useful both it and the hello world program give me this:
C:\JAVA>java frog.class
Exception in thread "main" java.lang.NoClassDefFoundError: frog/class
Caused by: java.lang.ClassNotFoundException: frog.class
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: frog.class. Program will exit.
Please Help
Only book I recommend to any Java Beginners is "Sams teach yourself Java". This is by far the best Java book for beginners, it's lean, thin, contains all a beginner wants to know and gets ball rolling quickly. No beginner wants to bogged down with too much detail, everyone likes to see small things working together and taking towards big things. Sams Series are well known and Sams teach yourself Java doesn't disappoint either.
ReplyDeletePlz suggest me few books for studying java,I m student of first year btech and have completed java begineers books
DeletePlz suggest me books to a few level up
What is the most recommended book on Java Programming for
ReplyDelete- absolute beginner with no programming background e.g. C or C++
- beginner in Java but knowledge of C or C++
- intermediate developer with some knowledge of Java
Thanks
Pai
Sir, Can you suggest me that which book i should read first- Head First Object Oriented Analysis and Design or Head First Design Pattern.
ReplyDeleteI'm confused. Please give me your opinion .
Thanks for the great review.
Read Head First Object Oriented Analysis and Design first then read Head First Design Pattern. Former book is more fundamental as it focus on basics, key principles and concept like Encapsulation, Polymorphism, Abstraction and principles like programming for interface than implementation, encapsulating what changes etc.
ReplyDeleteWhat is a good book to start learning Java for someone with some programming experience? I have done some programming in college and worked as C++ developer for 6 month, now I want to learn Java? How difficult it would be, which books should I take?
ReplyDeletehow should i follow all these books at a time .Head first java is best book for beginners
ReplyDeleteCan anyone suggest some advanced Java books here? I'm looking to expand my knowledge of Java and I'm wondering if there are any intermediate to advanced level Java books that focus on using language features in simple ways. I've already read through Effective Java and reading Java Concurrency in Practice. Any recommendations?
ReplyDeleteSir can u suggest me that which one book I prefferd first of java.
ReplyDeleteLazy people is amazingly cynical. There are a lot of questions here asking things like "Ok, but what should I read first", or even worst, "...but if you could say only one book, which one should I read". They are not only showing how low their ability to study or read is (and want a quick and easy solution), but they are showing how unable they are to even read this very short article, because if they did, they would not have to ask those questions.
ReplyDeletedo not use .class while running the program. use only " java frog"
ReplyDeleteBeginning Java Objects From Concepts to Code by Jacquie Barker is very good book.
ReplyDeleteKeep the Good Work, It helps a Lot !
ReplyDeleteGod Bless You !
Can please someone suggest me a book for programming problems in java
ReplyDeletewhere can i download these books, for free?
ReplyDelete@adil, if you have basic idea aobut Java programming and you want to become expeort then you need to refer multiple book. As a senior Java developer, you should be good at multithreading and best book to learn multithreading and concurrency is "Java concurrency in Practice". Similarly for generics and Collection best book is "Java Generics and Collection" and for JVM internals best book to read is "Definitive guide of Java performance by Stock Oaks".
ReplyDeleteOnce you read those book, you will stand outside crowd of Java developer, who has not read a single book yet.
@Anonymous, a good for programming problem in Java is "Core Java Volume 1 and 2" b Cay horstmann. The book is not only good on exercise part but also on theory and completeness. If you are looking for nasty puzzles then you can also read "Java Puzzlers", good read even if you are working in Java for 10 years.
ReplyDeletehii ,i need to know that if effective java covers algorithms part or not pls help!!!!
ReplyDeleteabove mentioned books might be good but believe me i didnt knew what programming is or what computer is and i only read 1 book which made a lot of difference is “Java How To Program International Version” by Deitel Paul and Harvey Paul. no comparison but this book is simply the best. if you want to be a programmer and really do coding go buy this book.
ReplyDeleteit is great book for beginner, expert, shares in-depth knowledge in an easy-to-understand way. has all the algorithm and stuff as well around 1400 to 1600 pages on core java is a priceless book. it repeats a lot of stuff which helps to grasp and remember the concepts very well and easily. believe me i went nuts looking for books on this planet and went to lots of professors seeking there help to understand what a class and object is this book did it in just few minutes. go get it and enjoy coding.
hope atleast someone of you go and atleast give a look i bet you gonna love it.... its a priceless advice for free. dont forget to donate incase you become a good programmer.
Thank you for reading.
Books that I would like to recommend are:
ReplyDelete1. Java : The Complete Reference, Fifth Edition by Herbert Schildt
This book contains the most complete and up-to-date resource on Java. A must-have desk reference for every Java programmer.
2. Java 7 Programming, Black Book
It is the one-time reference that provides the solid introduction to all the concepts. It is written purely from the programmers' point of view that contains hundreds of examples covering every aspect of Java.
3. PROGRAMMING WITH JAVA - E Balagurusamy
This is one of the best books for the java beginners. Written in simplest language with the most basic examples. If you are interested in understanding the use of Java for Programming, then this is the book for you.
Besides, I would also like to recommend, Wisdomjobs’s e-university. It also provides quality content on Java,If you are intended for the interviews or the technical rounds. It offers the best resources to learn Java in a very short span of time. Visit link at: http://www.wisdomjobs.com/e-university/adv-java-tutorial-227.html
Head First java is one of the best book to learn Java even after so many years.
ReplyDeleteCay S. Horstmann has released a new core book last year, Core Java for Impatient, which covers Java SE 8 as well. Given the writing skill and explanation skill of Cay S. Horstmann by reading Java SE 8 for Really Impatient, Core Java Volume 1 and 2 and Scala for Impatient, I recommend this book to any new developer starting with Java.
ReplyDeleteHead first java is best book.
ReplyDeleteIf you seriously want to become a better programmer , you must improve your data structure and algorithm skill. You can read 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 improve coding skill .
ReplyDeletejava is best
ReplyDeleteOut of three or four Java beginner books, I've personally enjoyed Core Java Vol I-II (by Horstmann) the most. However, I'd still like to try more whilst I'm learning the basics.
ReplyDeleteIf it helps any other beginners on here, I came across a very good list of best books to learn Java. Hope it helps you too.