The new language features are officially described in outline here, but you may first find it interesting to read a conversation with Joshua Bloch first. There is a more formal tutorial by Gilad Bracha and a useful website, hosted by Angelika Langer, including a generics FAQ. This chapter first describes the basic details you need to know to understand how to program using generic classes, for example those in the Java 5 version of the Collections framework.