2. Lecture Objectives
• Learn about the Java Virtual Machine (JVM)
• Understand the functionalities of the class loader
subsystem
• Understand the class initialization process
3. Introduction to the JVM (Cont’d)
• When JVM loads a class file, it puts its information in the method area
• As the program runs, all objects instantiated are stored in the heap
4. Introduction to the JVM (Cont’d)
Figure 2: Content of Memory Blocks at runtime.
5. The Class Loader Subsystem
• The class loader performs three main functions of JVM,
namely: loading, linking and initialization
• The linking process consists of three sub-tasks, namely,
verification, preparation, and resolution
Figure 3: Class loading process.