The JVM creates class loaders that loads the classes as required during program execution. Whenever a class that is declared with the new keyword in the code, that class will be statically loaded by the JVM and is referred to as Static Class Loading. In other words the JVM already knows about that this class has to be loaded as it declared in the code.

public class HelloWorld {
      public static void main(String[] args) throws Exception {
          // execute the test functions
          HelloWorld obj = new HelloWorld();

In this instance the class HelloWorld is declared with a new keyword and will be statically loaded by the JVM. If the JVM cannot find this class definition at Run-time, it will throw a NoClassDefFoundException, indicating that it could not find the class in any of known class-paths.