The order of class fi le components is strictly defi ned so that JVMs can know what to expect, and where
to expect it, when loading a class fi le. For example, every JVM knows that the fi rst eight bytes of a class fi le
contain the magic and version numbers, the constant pool starts on the ninth byte and the access fl ags follow
the constant pool. But because the constant pool is variable length, it does not know the exact whereabouts
of the access fl ags until it has fi nished reading in the constant pool. Once it has fi nished reading in the
constant pool, it knows the next two bytes will be the access flags.
2.17 WHY UNDERST ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.