首先想到插件。与C ++之类的语言相比,Java类的加载使其非常容易。
您可能没有意识到的一点是,任何Java虚拟机都严重依赖内部的类加载。每次字节码解释器看到某个方法的引用时,它都会检查该方法所属的类是否已加载,如果尚未加载,则
Class.forName()在解析该方法之前使用后面的相同机制加载该类。这种机制非常强大,因为任何Java应用程序实际上都可以充当一组可动态加载的可替换组件。如果VM编写正确,则它可以例如通过自定义类加载器加载类,该类加载器从网络获取类而不是常规文件。
类的加载时间取决于虚拟机的实现,但是大多数依赖于这种后期绑定机制,该机制在VM首次遇到该类时就加载一个类。



