DISCLAIMER: These notes are from the defunct k8 project which precedes SquirrelJME. The notes for SquirrelJME start on 2016/02/26! The k8 project was effectively a Java SE 8 operating system and as such all of the notes are in the context of that scope. That project is no longer my goal as SquirrelJME is the spiritual successor to it.
One thing I dislike about the constant pool is that stuff that should be first is not first, that is all of the constant stuff which does not rely on everything else. That would make parsing a bit easier and much faster too. But I suppose I will need lazy referencing of other constant pool entries if they do reference other entries.
One good thing about ByteBuffer is the relative and absolute get with position, makes reading the UTF constant data easy as I can just peek the length then read a giant buffer to run through a DataInputStream.