Book (or resource) on Java bytecode
- by Andrea
I am looking for some resources on the JVM bytecode. Ideally I would for a short book; something more than a blog post but not a 800 pages tome. If it is relevant, I am a Scala developer, not a Java one, although I know Java just fine.
I would like something that allowed me to read JVM bytecode and answer questions such as:
Why does the bytecode has to know about high level construct such as classes?
Are subtyping relations still visible in bytecode?
How does type erasure work exactly?
How do Oracle and Dalvik bytecode differ, and what consequences does this have for, say, developing Android apps with Scala?
How does the JVM manage the stack, and why exactly this creates issues with tail call elimination?
and so on.