Documentation

On-line documentation from the Java web site

The entry for the documentation on the version 8
JDK 8 Documentation

The tutorials on the Java language
http://docs.oracle.com/javase/tutorial/

Books

A very interesting book about the best use of Java (and object programming) :
Joshua Bloch
Effective Java, Programming Language Guide
Addison-Wesely, 2001

A good book to learn generics and collections in Java
Maurice Naftalin et Philip Wadler
Java Generics and Collections
O'Reilly 2006

A good book to learn UML
Michael R Blaha, James R Rumbaugh
Object-Oriented Modeling and Design with UML (2nd Edition)
Prentice Hall, 2nd edition, 2004

The main reference on design patterns :
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Design Patterns: Elements of Reusable Object-Oriented Software
Addison-Wesley Professional, 1st edition, 1995

Steven John Metsker, William C. Wake
Design Patterns in Java(TM)
Addison-Wesley Professional, 2nd edition, 2006

For those who are interested in concurrent programming
Doug Lea
Concurrent Programming in Java, Design Principles and Patterns, 2nd edition
Addison-Wesley 1999

New features in Java 8
Raoul-Gabriel Urma, Mario Fusco, Alan Mycroft
Java 8 in action
Manning, 2015

For those who don't know Java
Sharon Zakhour, Scott Hommel, Jacob Royal, Isaac Rabinovitch, Tom Risser, Mark Hoeber
The Java Tutorial: A Short Course on the Basics
Prentice Hall PTR, 4th edition, 2006