0Pricing
Java Academy · Lesson

Class Loading Phases: Load, Link, Initialize

Walk through loading, verification, preparation, resolution, and initialization of classes.

The Class Loading Lifecycle

A Java class goes through three phases before it can be used: Loading (find and read the bytecode), Linking (verify, prepare, resolve), and Initialization (run static initializers).

Phase 1: Loading

The ClassLoader reads the .class file (from filesystem, JAR, network, or generated bytecode) and creates a Class<?> object in the heap representing it.

// Trigger loading explicitly:
Class<?> c = Class.forName("com.example.MyService");
// The JVM delegates to the appropriate ClassLoader to find and load MyService.class

All lessons in this course

  1. Class Loading Phases: Load, Link, Initialize
  2. ClassLoader Hierarchy and Custom Loaders
  3. Inspecting Bytecode with javap
  4. JIT Compilation and Tiered Compilation
← Back to Java Academy