Stack space: Stores references to the object for variable in method call or variable instantiation.
Perm space: Stores loaded classes information
For example:
Student std = new Student();
After executing the line above memory status will be like this.
Heap: stores "new Student()"
Stack: stores information about "std"
Perm Space: stores information about Student class