Learning resources for Java & JVM based technology
Getting started with Java
- Head First Java A must read book to understand basic of Java language, how Java works, how JVM works etc.
- Java The complete reference By Herbert Schield This is my first book where I learned Java language and OOP very well when I was 2nd-year student in my undergrad.
- Java How To Program – Paul Deitel, Harvey Deitel I found the book very useful when I learned Desktop application with Java. I read the book in 2006.
- The Well-Grounded Java Developer Vital techniques of Java 7 and polyglot programming This books is for a little advance programmer and will help you to write modern and efficient Java code and help you to understand fundamentals of JVM processes.
- SCJP book by Kathy Sierra I think the latest edition of the book was for Java 6. Still, it’s very relevant and it covers a lot of ground. Even though this is targeted towards the SCJP exam, people who are not studying for the exam will be also benefitted. [Amazon link http://www.amazon.com/SCJP-Certified-Programmer-Java-310-065/dp/0071591060/]
- Effective Java (2nd edition) by Joshua Bloch This is the best book written in Java. If you don’t have time to read lots of books, just read this one. It’s sort of “best practices” book. It is very practical. You will be able to apply the knowledge of this book immediately. You need have a good grasp on your Java knowledge before you start reading this. [Amazon link http://www.amazon.com/Effective-Java-Edition-Joshua-Bloch/dp/0321356683/]
- [Optional] Java 8 in Action Makes you familiar with new features of Java 8. Very well written. [Amazon link – http://www.amazon.com/Java-Action-Lambdas-functional-style-programming/dp/1617291994/]
- Head First Design Pattern The book is very popular for any platform. And a must read books for any developer. A good thing is the examples of the book are written entirely in Java, though Design pattern is not language dependent. So, as a Java developer, you will enjoy more compared to other developers. Code organization and best practices
- Clean Code by Uncle Bob Every developer (not only java) should read this book. We spent more time reading code than writing. This book will help you write clean and maintainable code. So that when other people read your code they will be grateful to you. Examples are given in java which is a plus. [Amazon link – http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882/ ]
Java Web Development
- Head First JSP & Servlet
- Java EE official tutorial
- Spring.io http://spring.io/guides The getting started guides are awesome to understand each project/module under Spring.io
- Pro Spring – Apress I found the book useful to learn Spring in details. It covers Spring 4.
- Pluralsight.com Those who like to video tutorial to learn Spring, Spring MVC, and other Spring related technology.
- LivingOnCodes.com Another good site where Mozammel bhai (Admin of this group) taught Spring in Bangla. So, those who want to learn Spring framework in Bangla, it will be an excellent option.
- Spring in Action, Third Edition (Manning publication) One of the best book for learning spring in depth.
- Recommended video in tutorial in Bangla: Spring Framework Tutorial in Bangla
Functional Programming, based on JVM
- Coursera course on FP and Scala – https://www.coursera.org/course/progfun The course is really nice where Scala creator teaches FP as well as Scala.
- Scala for Java developers – Packt Publishing I am reading the book and found interesting as a java developer perspective. You will get a very good idea how a Java project can be benefited with Scala and vice versa.
- Clojure for the Brave and True – A good free online book to get started with Clojure and Functional Programming. Features one of the best introduction to concurrency and easiest introduction to the CSP (Communication Sequential Process) as well as a good grasp on Java interoperability. http://www.braveclojure.com
- Joy of Clojure – Manning An advanced book on Clojure, Functional Programming, Philosophy, and an advanced take on features like macros, concurrency, program design. Very well written and currently at version 2. http://www.joyofclojure.com
- Programming in Scala by Odersky, Venners and Spoon – Artima Very good and beginner friendly introduction to Scala. Written by the Scala creator Martin Odersky himself. Highly recommended for anyone aspiring to be a Scala developer.