See http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/2015-May/013391.html
"With perm gen going away (and being replaced by metaspace) in JDK 8, it makes sense that the counter
sun.gc.policy.generations should be "2", rather than "3". However, in JDK 8 that counter still says 3.
As I understand, the intention was that this counter would allow you to (for example) know the range of
the sun.gc.generation.$num.* counters describing each of $num < sun.gc.policy.generations in the heap.
Recall that the erstwhile perm gen in JDK 7 used to be synonymous with sun.gc.generation.2, but the
JDK 8 avatars are now sun.gc.metaspace and sun.gc.compressedclassspace."