Awesome Java Learning Resources
Java is a high-level, object-oriented programming language that has seen widespread adoption since launch. However, quality resources for learning Java are difficult to find among the myriad of available websites. This list seeks to provide a variety of different learning resources, both free and paid.
Contributions are greatly appreciated!
Table of Content: WIP
General
Courses/Tutorials/CodeLabs
- Roadmap.sh (Free) - A comprehensive roadmap that contains even more resources for learning Java.
Communities
- r/learnprogramming - A subreddit for all questions related to programming in any language.
- r/learnjava - A subreddit for resources on learning Java.
- Java Discord - A Discord server for everything related to Java.
- Together Java - A Discord server for everything related to Java.
Others
awesome-java - A curated list of Java libraries & frameworks.
Java Fundementals
Articles/Blogs
Books
- Effective Java, 3rd Edition (Paid) - Volt-award winning classic, each chapter consists of several “items” presented in the form of a short, standalone essay that provides specific advice, insight into Java platform subtleties, and updated code examples.
- Head First Java, 3rd Edition (Paid) - A classic that covers a variety of basic and advanced topics, including lambdas, streams, generics, threading, networking, and the dreaded desktop GUI.
- Thinking in Java, 4th Edition (Paid) - A classic that covers the fundamentals of Java.
- Java: A Beginner's Guide, Ninth Edition (Paid) - A book that covers the basics and touches on advanced features, including multithreaded programming, generics, Lambda expressions, and Swing.
Courses/Tutorials/CodeLabs
- JetBrains Academy (Free & Paid) - Multiple tracks catered towards developers with varying among of prior programming experience.
- Oracle's Java tutorials (Free) - Although written for Java 8, it still does a good job of covering the fundamentals of Java.
- University of Helsinki's MOOC (Free) - A MOOC on Java fundamentals, video lectures are in Finnish with English subtitles.
Videos
- Java Tutorials For Beginners (Free) - A short introduction to programming in Java by "Programming With Mosh".
Generics
Articles/Blogs
- Oracle's Java Tutorial's Supplementary Generics Lesson (Free) - Supplementary lessons on generics in Java.
Books
Courses/Tutorials/CodeLabs
Videos
Concurrency
Articles/Blogs
Books
- Java Concurrency in Practice (Paid)- A classic that delves into everything related to Java concurrency.