- Head First Java, 2nd Edition https://www.amazon.com/dp/059600… para una introducción.
- Efectivo Java (2da edición) https://www.amazon.com/dp/032135… para navegar por las aguas.
- Concurrencia de Java en la práctica https://www.amazon.com/dp/032134… para el trabajo pesado.
- Programación funcional en Java: Aprovechar el poder de las expresiones Lambda de Java 8 https://www.amazon.com/dp/193778… para pensar fuera del cuadro OO. (Omita si tiene conocimientos previos de FP).
Algunas lecciones no están en los libros, así que también estudie https://github.com/google/guava para obtener muchos ejemplos excelentes de diseño limpio (sin mencionar las muchas utilidades útiles).
Todos estos son muy generales, por lo que a partir de ahí realmente depende de qué problemas intentes resolver con Java. Las rutas divergen para el desarrollo web, API REST, Android, procesamiento de flujo, procesamiento por lotes, etc.