Skip to content
0:00 / 0:00

#jvm#hotspot#jit

A JVM Does That??? by Dr Cliff Click

Devoxx

172K subscribers • 64 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 1 in engineering communities and 1 curated list.
  • Presented by Cliff Click, creator of the HotSpot Server Compiler

Advanced. Deep dive for people who know the field.

21K views9 years ago2 recommendations

Systems programmingProgramming languagesCompilers and interpretersPerformance and optimizationConcurrency and parallelism

Cliff Click explains the inner workings of the HotSpot JVM, including JIT compilation, garbage collection, and class hierarchy analysis.

I worked on the HotSpot JVM for nearly 15 years, and I'm still constantly amazed as to what goes on inside them. High quality GCs, compilers, uniform threading & memory models, a cost model for code, dynamic code loading, introspection & reflection, access to the OS & hardware resources, a huge pre-built library. Where did all these services come from? Why are they here... and more importantly: when do they fail? What are the limitations we live with in the JVM? What services would we like to have (but cant & here's why)? Cliff Click is the CTO of Neurensic, and before that the CTO and Co-Founder of h2o.ai, the makers of H2O an open source math and machine learning engine for Big Data. Cliff wrote his first compiler when he was 15 (Pascal to TRS Z-80!), although Cliff’s most famous compiler is the HotSpot Server Compiler (the Sea of Nodes IR). That compiler showed the world that JIT'd high quality code was possible, and was at least partially responsible for bringing Java into the mainstream. Cliff helped Azul Systems build an 864 core pure-Java mainframe that keeps GC pauses on 500Gb heaps to under 10ms, and worked on all aspects of that JVM. Cliff is invited to speak regularly at industry and academic conferences and has published many papers about Hot. [TLX-9575]

Why it's here

2 people recommend this

What people say. Recommended as a deep dive into JVM internals and JIT compiler optimizations.

Moments people linked to

programming-talkscurated list on GitHubRecommends

Under “Java & Android”

A JVM does that??? 00:51:58 by **Cliff Click** (2016)

u/ron_krugmanin r/programming • Recommends

On “Stop overusing interfaces”

Sorry, I misspoke. Inlining is indeed a different mechanism. I meant that the JIT compiler optimizes virtual calls by replacing them with static calls at runtime if there is only one possible implementation that can be called. Edit: It's called class hierarchy analysis (CHA). Cliff Click briefly talks about it here.
1View on Reddit