javap, the constant pool, the operand stack, invokevirtual vs invokeinterface vs invokedynamic. Understand what javac really compiles and how that maps to JVM execution — the foundation for understanding JIT, reflection, and dynamic proxies.
// Lessons
- 01soon
What Is Bytecode? — The Contract Between javac and the JVM
- 02soon
javap Deep Dive — Disassembling Class Files
- 03soon
The Constant Pool — The JVM's Symbol Table
- 04soon
The Operand Stack — Stack-Based Computation vs Register Machines
- 05soon
Method Invocation — invokevirtual vs invokeinterface vs invokestatic
- 06soon
invokedynamic — How Lambda Expressions Are Actually Compiled
- 07soon
Bridge Methods — The Compiler's Erasure Workaround
- 08soon
Reading Real Bytecode — Walking Through a Non-Trivial Class