JVM 101: Introduction, ClassLoader Sub-System & JIT compiler (Part 1)

Savindi Wijenayaka
Javarevisited
Published in
10 min readMar 21, 2020

--

Hola Readers! Today I brings you a small but yet fresh articles series related to the Java memory model. This is one of the topics I really love and thought of writing for a long time. Hope you will enjoy! 🤗

Anyway, let's dive in. Today we are going to learn something related to Java. Many of us, developers, started off as Java developers, some of us may have drifted to other areas, but, we all usually keep one step in Java, as it is one of the vastly used programming languages in the world. However, one thing that most of us does not pay attention to is under the hood detail regarding type lifecycle and memory model of Java. But yet, these things are important to understand when creating industry-level applications.

There is a separate component that handles these two tasks along with some other small tasks. That is JVM or Java Virtual Machine.

The topic of JVM is a bit big. Hence, I will discuss it in 3parts:

  1. Introduction, ClassLoader sub-system & JIT compiler
  2. Garbage Collection and Heap
  3. Stack and other Runtime data areas

This post is part 1: Introduction, ClassLoader sub-system and JIT compiler, where we will talk about the big picture of the JVM, responsibilities of…

--

--

Savindi Wijenayaka
Javarevisited

Ph.D candidate at University of Auckland. Software Engineer passionate about using Machine learning to revolutionize healthcare.