I personally quite liked Java: The Complete Reference by Herbert Schildt – as the name suggests, it covers most of the topics relevant to Java developers, including some outdated ones.
Head First Java by Kathy Sierra is also a decent introduction to the language, though much more limited and outdated.
Oracle also has on-line Java tutorial which I regularly visit during development. However the content is more scattered than in a book.
After you get some Java under your belt try Effective Java and Java Concurrency in Practice. Also I read the Javadocs for all the built in libraries like java.util [1] and the Javadocs for the stream api [2]. After that I read the language spec, and the memory model spec.
10 comments
[ 2.2 ms ] story [ 37.8 ms ] threadso far so good, I like it for it's size. I wanted an introductory text that wasn't 1000 pages.
There are more materials.
Head First Java by Kathy Sierra is also a decent introduction to the language, though much more limited and outdated.
Oracle also has on-line Java tutorial which I regularly visit during development. However the content is more scattered than in a book.
1: https://docs.oracle.com/javase/8/docs/api/java/util/package-... 2: https://docs.oracle.com/javase/8/docs/api/java/util/stream/p...