Para principiantes:
- Head First Java de Kathy Sierra y Bert Bates
Este libro es ideal si estás empezando en la programación. Utiliza un enfoque visual y accesible, con muchos ejemplos prácticos. Te ayudará a comprender los conceptos básicos de Java y la programación orientada a objetos de manera amena.
- Java: A Beginner's Guide de Herbert Schildt
Un clásico para aquellos que quieren entender Java desde cero. Explica desde lo más básico hasta temas más avanzados de una forma clara y progresiva. Es excelente para nuevos programadores.
- Effective Java (3ra edición) de Joshua Bloch
Aunque es un libro más avanzado, puede ser útil incluso para principiantes con algo de experiencia. Está repleto de buenas prácticas y consejos útiles para escribir código Java limpio y eficiente.
Para desarrolladores intermedios y avanzados:
- Java: The Complete Reference de Herbert Schildt
Este libro es un recurso exhaustivo sobre Java, cubriendo tanto la sintaxis básica como las bibliotecas y API más avanzadas. Ideal para desarrolladores que buscan una guía completa sobre el lenguaje.
- Clean Code: A Handbook of Agile Software Craftsmanship de Robert C. Martin
Aunque no está enfocado exclusivamente en Java, es una obra clave para aprender buenas prácticas de programación y diseño de código limpio. Sus principios son aplicables a cualquier lenguaje, y muchos ejemplos están hechos en Java.
- Java Concurrency in Practice de Brian Goetz
Si tienes algo de experiencia con Java y quieres profundizar en la programación concurrente, este libro es esencial. Te enseña a trabajar con hilos, sincronización, y cómo escribir aplicaciones Java concurrentes seguras.
- Spring in Action de Craig Walls
Si te interesa trabajar con el popular framework Spring, este libro es una excelente guía para aprender a desarrollar aplicaciones robustas con Java. Cubre temas como la inyección de dependencias, AOP (Aspect-Oriented Programming), y la configuración de Spring.
- Springboot in Action de Craig Walls
También del mismo autor, esta es guía práctica para desarrollar aplicaciones Java con Spring Boot. A través de ejemplos claros, el autor explica cómo simplificar el proceso de configuración y despliegue, aprovechando la potencia de Spring Framework para crear aplicaciones robustas y escalables de manera eficiente.
Para especialización:
- Java Performance: The Definitive Guide de Scott Oaks
Este libro es perfecto para aquellos que deseen optimizar el rendimiento de sus aplicaciones Java. Cubre desde la optimización de la memoria hasta la mejora del rendimiento en la ejecución de aplicaciones en producción.
- Java: The Good Parts de Jim Waldo
Este libro es ideal para los desarrolladores que ya tienen experiencia con Java y desean centrarse en los aspectos más poderosos del lenguaje. Es una excelente manera de aprender a escribir un código más eficiente y conciso.
- Maven: The definitive guide por Sonatype
Ésta es una guía completa para aprender a usar Apache Maven, una herramienta de automatización de construcción. El libro cubre desde la configuración básica hasta técnicas avanzadas, explicando cómo gestionar dependencias, construir proyectos, integrar con otros sistemas y optimizar el proceso de desarrollo.
- Oracle Certified Associate Java SE 8 Programmer I de Jeanne Boyarsky y Scott Selikoff
Ésta es una guía completa para preparar el examen de certificación OCA Java SE 8. El libro cubre los fundamentos de Java, incluyendo sintaxis, estructuras de control, clases, interfaces, y manejo de excepciones, proporcionando ejercicios prácticos y consejos para el examen.