What is the significance of PermGen space in java?
The PermGen is specific to VMs having generational garbage collection.
If you use, say, JRockit, the "significance of PermGen" is non-existent because JRockit doesn't have that concept.
It uses to be common, a few years ago, when the weird "out of PermGen space" errors started appearing and that nobody knew yet whose fault it was (Tomcat + Hibernate + Sun VM used to trigger this) to replace one of the component (nowadays the problems are understood, but years ago when they started cropping it was hardly possible to find any information on this). You could replace Tomcat with Resin or the Sun VM with JRockIt etc.
I think it's important to point out that PermGen are not part of the Java specs and only an implementation detail of (quite) some VMs.