我知道 java.lang.ClassLoader 通常是我扩展的类加载器(需要时)。此外,当我看到 tomcat、Jetty 等的自定义类加载器从 java.lang.ClassLoader 扩展时。
我很想了解 com.sun.org.apache.bcel.internal.util.ClassLoader 的用途和用法。
有人可以帮我理解吗?
我知道 java.lang.ClassLoader 通常是我扩展的类加载器(需要时)。此外,当我看到 tomcat、Jetty 等的自定义类加载器从 java.lang.ClassLoader 扩展时。
我很想了解 com.sun.org.apache.bcel.internal.util.ClassLoader 的用途和用法。
有人可以帮我理解吗?
com.sun.org.apache.bcel.internal
只是Apache BCEL的重新包装。特别是,我们感兴趣的类 ( ClassLoader
) 记录在这里...
替代 JVM 的标准类加载器。您可以将它与 结合使用,以根据
JavaWrapper
需要动态修改/创建类。此类加载器以不同的格式识别特殊请求,即,当请求的类的名称包含“ $$BCEL$$ ”时,它会调用
createClass()
具有该名称的方法($$BCEL$$之前的所有内容都被认为是包名。您可以子类化类加载器并覆盖该方法。“普通”类可以通过覆盖modifyClass()
之前调用的方法来修改defineClass()
。