There’s a lot of consensus in the Java world about which books rise to the top of the Must Read list. At the risk of pointing out the obvious, here’s a score of the books I’ve consulted, considered, or revisited most.
- Joshua Bloch, Effective Java (2nd Edition).
- Christian Bauer and Gavin King, Java Persistence with Hibernate.
- Brian Goetz with Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes, and Doug Lea, Java Concurrency in Practice
- Erich Gamma, Richard Helm, Ralph Johnson, and John M. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software
- Steve McConnell, Code Complete: A Practical Handbook of Software Construction
- Martin Fowler with Kent Beck, John Brant, William Opdyke, and Don Roberts, Refactoring: Improving the Design of Existing Code
- Maurice Naftalin and Philip Wadler, Java Generics and Collections
- David Geary and Cay S. Horstmann, Core JavaServer Faces (3rd Edition)
- Eben Hewitt, Java SOA Cookbook
- Chet Haase and Romain Guy, Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications
- Debu Panda, Reza Rahman, and Derek Lane, EJB 3 in Action
- Ira R. Forman and Nate Forman, Java Reflection in Action
- John Zukowski, The Definitive Guide to Java Swing (3rd Edition)
- Scott Oaks and Henry Wong, Java Threads (3rd Edition)
- Robert Sedgewick, Algorithms (4th Edition)
- Christopher Steel, Ramesh Nagappan, and Ray Lai, Core Security Patterns: Best Practices and Strategies for J2EE™, Web Services, and Identity Management
- Steven Haines, Pro Java EE 5 Performance Management and Optimization
- Cay S. Horstmann and Gary Cornell, Core Java, Volume 1– Fundamentals (8th Edition)
- Cay S. Horstmann and Gary Cornell, Core Java, Volume 2– Advanced Features (8th Edition)
- James Gosling, Bill Joy, Guy Steele, and Gilad Bracha, The Java Language Specification
Don’t forget to mention books belonging to your top list!
Suggested by readers in the comments section:
- Joshua Bloch and Neal Gafter, Java Puzzlers book
- Ian Darwin, The Java CookBook
- Andrew Lee Rubingerand Bill Burke, Enterprise Java Beans 3.1 (6thEdition)
- R.C Martin (aka Uncle Bob), Clean Code
- Petar Tahchiev, Felipe Leme, Vincent Massol and Gary Gregory, JUnit in Action
Reference: The Books Most Useful for a Java Developer from our JCG partner at Intermediate Java.
Related Articles :


