1. "Head First Java" by Kathy Sierra and Bert Bates: Beginner-friendly introduction to Java programming with a focus on object-oriented programming concepts.
2. "Java: A Beginner's Guide" by Herbert Schildt: Comprehensive overview of Java fundamentals for beginners.
3. "Effective Java" by Joshua Bloch: Advanced guide to writing high-quality, efficient Java code.
4. "Thinking in Java" by Bruce Eckel: In-depth exploration of Java's syntax and object-oriented programming concepts.
5. "Java Concurrency in Practice" by Brian Goetz: Advanced guide to writing concurrent and thread-safe Java code.
6. "Java Performance: The Definitive Guide" by Scott Oaks: Expert-level guide to optimizing Java performance.
7. "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin: A practical guide to writing clean, maintainable Java code.
8. "Java Network Programming" by Elliotte Rusty Harold: Comprehensive guide to Java network programming for intermediate to advanced programmers.
9. "Java SE8 for the Really Impatient" by Cay S. Horstmann: Quick reference guide for experienced Java programmers transitioning to Java 8.