我是靠谱客的博主 可靠灰狼,这篇文章主要介绍ClassLoader 动态加载定义,现在分享给大家,希望可以做个参考。

static {
       
try {
            AccessController.
doPrivileged(new PrivilegedExceptionAction() {
            
public Object run() throws Exception {
             Class cl = Class.
forName("java.lang.ClassLoader"); 

            defineClass1 = cl.getDeclaredMethod("defineClass", new Class[]{

           String.class, byte[].class, int.class,  int.class});

            defineClass2 = cl.getDeclaredMethod("defineClass", new Class[]{

            String.class, byte[].class, int.class, int.class,ProtectionDomain.class}); 

            definePackage = cl.getDeclaredMethod("definePackage", new Class[]{

            String.class, String.class, String.class, String.class, String.class, String.class, String.class,

            java.net.URL.class});

            Field f = Unsafe.class.getDeclaredField("theUnsafe"); // Internal reference 

            f.setAccessible(true); 

            unSafe = (Unsafe) f.get(null); return null; }
            })
; }

            catch (PrivilegedActionException pae) {
           
throw new RuntimeException("cannot initialize ClassPool", pae.getException()); 

      }

最后

以上就是可靠灰狼最近收集整理的关于ClassLoader 动态加载定义的全部内容,更多相关ClassLoader内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部