JVM Anatomy 101

Опубликовано: 30 Октябрь 2023
на канале: JetBrains
21,817
744

When we talk about Java, we talk about two things: the JVM (Java Virtual Machine) and the Java bytecode that runs on this machine.

The JVM internals are quite sophisticated, but it’s important to understand what they consist of, what parts are responsible for what, and how it all works together. This knowledge will help you understand how your program works and how to improve its behavior.

In this talk, we won’t climb under the hood of a particular JVM implementation, but we will cover the generalities of the JVM, its functionality, and its constituent parts.

Speaker: Nikita Lipsky

Nikita joined JetBrains a year ago to work on Compose Multiplatform project, focusing on Compose for iOS. Before JetBrains, he worked on compilers, runtimes, and new programming languages for Huawei. He was an initiator of Excelsior JET, a JVM implementation with an AOT compiler.

00:00 - Intro
03:06 - Java class file and bytecode
08:55 - Classloading engine
18:35 - Execution engine: interpretators, JIT, AOT
24:50 - Meta information access subsystem: reflection, indy, JNI
28:05 - Threading, exception handling, synchronization
34:25 - Memory management: heap, allocation, GC
49:34 - Manageability and Monitoring
50:48 - JVM Overview

#jvm #jit #gc #javabytecode