The Method Area
After the Classloader returns a new class definition to the JVM, the JVM extracts all the appropriate information and stores it to the Method Area.
Specification for implementation is open.
Execution speed vs Compactness.
Does not need to be fixed or contiguous and can even be part of the heap.