The JVM relies on a constant pool to determine the class layout, instances, interfaces, and arrays. Every class has a constant pool. Current Java data types for modeling these loadable constants are inefficient and inadequate. The aim of this JEP is to provide the ability for Java to manipulate classes and methods.