Daniel Strmečki
Just-in-time Compilation in JVM
#1about 4 minutes
Understanding compiled versus interpreted programming languages
Programming languages are classified by their level of abstraction, requiring either compilation or interpretation to translate high-level code into machine-executable code.
#2about 4 minutes
How Java uses bytecode for platform portability
Java achieves portability by first compiling source code into platform-neutral bytecode, which is then interpreted and executed by the Java Virtual Machine (JVM).
#3about 5 minutes
Boosting performance with just-in-time compilation
The JIT compiler significantly improves performance by identifying and compiling frequently executed code sections, known as hotspots, into native machine code at runtime.
#4about 2 minutes
Comparing the C1 client and C2 server compilers
The JVM includes two JIT compilers: the C1 (client) compiler for fast startup and the C2 (server) compiler for better long-term performance optimization.
#5about 3 minutes
Achieving the best of both worlds with tiered compilation
Tiered compilation combines the C1 and C2 compilers, initially using C1 for quick startup and later switching to C2 for highly optimized code as more profiling data is collected.
#6about 3 minutes
Exploring the five levels of tiered compilation
The tiered compilation process involves five distinct levels, progressing from interpretation (level 0) through various C1 stages (levels 1-3) to full C2 optimization (level 4).
#7about 1 minute
Understanding deoptimization when assumptions fail
Deoptimization occurs when the JIT compiler's assumptions about code behavior are invalidated, causing the optimized native code to be discarded and the compilation process to restart.
#8about 5 minutes
How to configure and observe JIT compilation behavior
Developers can use JVM flags to disable tiered compilation, adjust compilation thresholds, and enable logging to observe the JIT compiler's behavior in real time.
#9about 2 minutes
Conclusion: Java is both a compiled and interpreted language
Java's hybrid model uses an interpreter for portability and a sophisticated JIT compiler for high performance, making it both a compiled and an interpreted language.
#10about 9 minutes
Audience Q&A on JIT compilation and performance
The speaker answers audience questions regarding compiler memory usage, direct-to-native compilation, performance thresholds, and comparisons with other languages like Go and Kotlin.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
07:43 MIN
Distinguishing between interpreters and compilers
Making Sense of Programming Languages
18:25 MIN
Improving performance with ahead-of-time compilation
Going serverless using the Spring Framework ecosystem
05:43 MIN
How Dart compiles code for development and production
Dart - a language believed dead, experiences a new bloom
10:20 MIN
Optimizing Java performance for cloud-native applications
Cloud Chaos and Microservices Mayhem
29:02 MIN
Understanding JIT and AOT compilation in Angular
Angular Unleashed: Mastering Modern Web Development with Angular
44:10 MIN
Q&A on Java's future and developer career paths
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
28:20 MIN
Compiling Java to a native executable with GraalVM
2021: Familiar APIs on Kickass Runtimes #slideless
00:35 MIN
Why JVM memory management and structure matter
Trash Talk - Exploring the memory management in the JVM
Featured Partners
Related Videos
Debugging Unveiled: Exploring Debugger Internals and Hidden Gems
Johannes Bechberger
High performance Serverless Java on AWS
Vadym Kazulkin
Java 21: The Revolution of Virtual Threads - A Deep Dive
Christian Woerz
2021: Familiar APIs on Kickass Runtimes #slideless
Adam Bien
Beam Me Up, Java! Unraveling the Warp-Speed Evolution: A Journey through Java LTS Versions 11 to 21
Jonathan Vila
High performance Serverless Java on AWS
Vadym Kazulkin
Why Kotlin is the better Java and how you can start using it
Iris Hunkeler
Modern Java 25
Ron Veen
From learning to earning
Jobs that call for the skills explored in this talk.








