07 October 2009

A Minimal Java Project Reading List

This is my reading list for "enterprise" projects that use Java as the primary programming language. The list is short, but it has served me well.

This "bare-bones" reading list is designed primarily for programmers who (like me) work on large-scale, "legacy" Java code-bases. The list could serve as the foundation for a more expanded list with "more advanced topics."

  • "Effective Java," 2nd edition, Bloch - this is the one book to have if you have only one book.
  • "Java Concurrency in Practice," Goetz, et. al. this is a must have for concurrent enterprise apps.
  • "The Java Programming Language," 4th ed. Refer to it often.
  • (freely available) "The Java Language Spec," http://java.sun.com/docs/books/jls/ Refer to it just as often.

That's it for the core, "must-have" Java stuff, but you'll need to understand patterns as well:

  • "Design Patterns," Gamma, et. al.
  • "Patterns of Enterprise Application Architecture," Fowler
And let's not forget testing:
  • "xUnit Test Patterns," Meszaros

Then there's the "recommended" section for Java, a little dated, but still relevant:

  • "Hardcore Java," Simmons
  • "Better, Faster, Lighter Java," Tate & Gehtland

That's it. Happy reading!