airhacks.fm podcast with adam bien

Run Java with Java

May 11, 2025
In this discussion, Christian Humer from Oracle Labs shares insights on Java's potential as a systems programming language and his bachelor thesis on a Java bytecode interpreter. He explains the innovative C1X compiler, the de-optimization process in JIT compilation, and the fascinating concept of a domain-specific language for efficient bytecode generation. Christian also dives into GraalVM's security features, like sandboxing untrusted code, and highlights the power of TRegex for optimizing regex performance in Java applications. It's a deep dive into the future of Java technology!
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Java Bytecode Interpreters in Java

  • Writing a Java bytecode interpreter in Java is feasible and reasonably efficient compared to native interpreters.
  • One compiler throughout the stack simplifies compatibility and improves maintainability.
INSIGHT

De-optimization Guards Explained

  • Guards inside optimized code detect assumptions violations and trigger de-optimization back to interpreter.
  • This approach allows continuous execution while recompilation happens in the background.
INSIGHT

Closed World and Native Image Optimization

  • Native Image leverages closed-world assumption to optimize by eliminating unused classes and fields.
  • Known runtime state allows removal of polymorphic dispatch and class initialization overhead.
Get the Snipd Podcast app to discover more snips from this episode
Get the app