Skip to content

Latest commit

 

History

History
32 lines (28 loc) · 941 Bytes

File metadata and controls

32 lines (28 loc) · 941 Bytes

Better Understanding through Bytecode

Outline

  • JVM Runtime
    • Stacks rule everything around me
      • Threads and the call stack
      • Execution stack per method
    • Bytecodes
      • javap
      • Anatomy of a bytecode (optional params, actually bytes)
      • load
      • store
      • Constant pool
      • new/dup/
      • get/putfield
      • if/goto (look ma, no loops!)
      • invoke methods
  • Concurrency
    • We can see the interleaving between threads
  • Tail Call
    • Top level functions in Kotlin, but still need a class in bytecode!
    • GOTO makes everything better
  • Coroutines
    • Like before, lots extra generated on our behalf!
    • State machine for each of our steps
    • Following method calls

Resources