Concerning the "generations" column:
VisualVM comes with your Sun JDK6 for free, originates from Netbeans, look for jvisualvm in JAVA_HOME/bin. It incorporates a memory profiler that uses a metric called “surviving generations” (or short “generations”). So what is a surviving generation? Surviving generations: The number of different ages for all objects allocated on the JVM heap since the profiling session started. Age of object: The age of the object is the number of garbage collections the object has survived.
Extracted from http://www.munzandmore.com/2011/ora/memleak
About how to analyze the data, it's a broad subject. I suggest you to take a look at this:
http://my.safaribooksonline.com/book/programming/java/9780137001040