1. A system comprising: a processor; a memory configured to store program instructions, wherein the program instructions implement an application server executable by the processor, wherein the program instructions further implement an application executable by the processor; wherein the application comprises one or more non-interdependent classes and at least one set of two or more interdependent classes; wherein the application further comprises a hierarchical stack of class loaders comprising a separate class loader for each of the sets of two or more interdependent classes; wherein the hierarchical stack of class loaders further comprises one or more class loaders for one or more groups of at least one of the one or more non-interdependent classes; wherein each class loader is configured to load the class group of the class loader in the application; wherein, during execution of the application, the program instructions are executable by the processor to: detect that one of the classes has been changed; and replace one of the class loaders in the hierarchical stack of class loaders for a class group including the class that has been changed with a new class loader for that class group including the changed class; and wherein the new class loader is configured to load the class group including the changed class in the application during execution of the application.