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