• File properties: Define the type of file with the "magic word"
0xCAFEBABE
and the format version;• Constant Pool: Contains all the method names and class names used, in a special format, along with other symbolic information. Other sections use only references to elements in the pool;
• Main class properties: Access flags, the name of the class, its superclass, and interfaces;
• Internal content: List of class fields and the bytecode of methods;
• Class attributes.
Separate files are also created for inner classes, named in the format
OuterClass$InnerClass.class
. If the class is anonymous, numbers starting from 1 are used instead of names.