Further study
Resources
A short, opinionated list. We'd rather point you to three great books than thirty mediocre ones.
Essential reading
- Effective Java — Joshua BlochThe single most useful book on writing idiomatic Java. Read it after you've finished Chapter 2.
- Java Concurrency in Practice — Brian Goetz et al.The definitive reference on threads, locks, and the memory model.
- Modern Java in Action — Urma, Fusco, MycroftA clear, practical tour of streams, lambdas, and the modern platform.
Official documentation
- OpenJDK ProjectThe reference implementation. Source of truth for the language and runtime.
- JEP IndexEvery change to the Java platform, indexed and explained by its authors.
- Java Language SpecificationDense, but the only document that decides what Java actually means.
Tools we recommend
- IntelliJ IDEA CommunityThe most refined Java IDE, free for non-commercial use.
- SDKMAN!Install and switch between JDK distributions with one command.
- JBangRun a single .java file as a script, with dependencies.