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.
tree-IT GmbH
Bad Neustadt an der Saale, Germany
€54-80K
Intermediate
Senior
Java
TypeScript
+1
PROSOZ Herten GmbH
Herten, Germany
€47-70K
Junior
Intermediate
Senior
Java
Matching moments
02:33 MIN
Why you might not need JavaScript for everything
WeAreDevelopers LIVE – You Don’t Need JavaScript, Modern CSS and More
02:49 MIN
Using AI to overcome challenges in systems programming
AI in the Open and in Browsers - Tarek Ziadé
00:30 MIN
The feasibility of coding entirely on a mobile phone
Fake or News: Coding on a Phone, Emotional Support Toasters, ChatGPT Weddings and more - Anselm Hannemann
08:07 MIN
Exploring modern JavaScript performance and new CSS features
WeAreDevelopers LIVE – AI, Freelancing, Keeping Up with Tech and More
02:55 MIN
Why developers often undervalue their time and paid tools
Developer Time Is Valuable - Use the Right Tools - Kilian Valkhof
14:14 MIN
Scripting presentations and demos in VS Code
Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
06:28 MIN
Using AI agents to modernize legacy COBOL systems
Devs vs. Marketers, COBOL and Copilot, Make Live Coding Easy and more - The Best of LIVE 2025 - Part 3
05:55 MIN
The security risks of AI-generated code and slopsquatting
Slopquatting, API Keys, Fun with Fonts, Recruiters vs AI and more - The Best of LIVE 2025 - Part 2
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
Give your build some love, it will give it back!
Amanda Martin
Related Articles
View all articles
.gif?w=240&auto=compress,format)
.gif?w=240&auto=compress,format)

From learning to earning
Jobs that call for the skills explored in this talk.


Coperitus GmbH
Coburg, Germany
Intermediate
Senior
Java
JavaScript



Intellico
Buochs, Switzerland
Intermediate
CSS
GIT
HTML
Java
SASS
+9

Descriptionhcltech
Charing Cross, United Kingdom
Intermediate
MVC
Java
JIRA
Vert.x
Kotlin
+3


