Java反射 - 动态类加载和重载
可以使用Java在运行时加载和重新加载类,虽然它不像人们希望的那样简单。 本文将解释何时以及如何在Java中加载和重新加载类。 ClassLoader Java应用程序中的所有类都使用java.lang.ClassLoader的一些子类加载。 因此,动态加载类也必须使用java.lang.ClassLoader子类来完成。 当一个类被加载时,它所引用的所有类也被加载。 这个类加载模式是递归的,直到所有需要的类都被加载。 这可能不是应用程序中的所有类。 未引用的类只有在引用时才加载。 装载等级 Java中的类加载器被组织成一个层次结构。 当你创建一个新的标准的Java ClassLoader时,你必须提供一个父类的ClassLoader。 如果一个ClassLoader被要求加载一个类,它会要求它的父类加载器加载它。 如果父类加载器找不到该类,那么子类加载器将尝试自己加载它。 类加载 给定类加载器在加载类时使用的步骤如下: 检查类是否已经加载。 如果未加载,则请求父类加载器加载该类。 如果父类加载器无法加载类,请尝试将其加载到此类加载器中。 当你实现一个能够重新加载类的类加载器时,你将需...
