The Java ClassLoader is used to load .class files into the JVM at runtime.
There are three main types of classloaders:
Bootstrap classloader (loads all the Java core libraries like java.lang)
Extension classloader (loads classes defined in jar files at
$JAVA_HOME$\lib\ext)
System classloader (loads classes from the CLASSPATH)*
*All classes that you write in your program and all the dependencies from imported JARs are loaded by the System class loader