Memory that can be shared between threads is called shared memory or heap memory. All instance fields, static fields, and array elements are stored in heap memory.
Class metadata, interned Strings and class static variables will be moved from the permanent generation to either the Java heap or native memory.
From JEP 122: Remove the Permanent Generation
Reference
Where are static methods and static variables stored in Java?