ClassLoader
- During execution, Java class files are loaded on demand using an instance of ClassLoader
- Classes can be loaded from files, over a network or synthesized from bytes of data in memory.
ClassLoader loader = new NetworkClassLoader(host, port);
Object main = loader.loadClass("Main", true).newInstance();