设为首页 加入收藏

TOP

Java 类加载的一些理解(五)
2017-04-07 10:26:13 】 浏览:668
Tags:Java 加载 一些 理解
quot;;
        try {
            //Class<?> loadClass = cl.loadClass(name);
         AbcBean abc = new AbcBean();
         AbcBean abc2 = new AbcBean();
         abc.greeting();
         
         //System.out.println(abc.greeting());
         //Class<?> loadClass = cl.findClass(name);
         Class<?> loadClass = cl.findClass(name);
         System.out.println(loadClass.getClassLoader());
         Class<?> loadClass2 = cl.findClass(name2);
          Constructor ccc =loadClass2.getDeclaredConstructor(new Class[]{String.class});
         
         System.out.println(ccc.newInstance(new Object[]{pp}).getClass().getClassLoader());
         Object o = ccc.newInstance(new Object[]{pp});
         System.out.println(o.getClass().getClassLoader());
         Method m = o.getClass().getMethod("findClass", String.class);
         Object oo =  m.invoke(o, name);
         System.out.println(oo.getClass().getClassLoader());//这里不明白为什么为null
         System.out.println(oo.getClass().getClassLoader().getParent());
         // ll.getClass().getClassLoader()
        // ClassLoaderLK ll =  (ClassLoaderLK)loadClass2.newInstance();
         //Class<?> loadClass2 = cl.findClass(name);
         //loadClass = ll.findClass(name);
         //System.out.println("===" + (loadClass == loadClass2));
           
            Object object = loadClass.newInstance();
           
            System.out.println(object.getClass().getClassLoader());
            System.out.println(object.getClass().getClassLoader().getParent());
            System.out.println(object.getClass().getClassLoader().getParent().getParent());
            System.out.println("abc==abc2" + (abc.getClass() == abc2.getClass()));
            System.out.println("abc==object" + (abc.getClass() == object.getClass()));
            System.out.println("abcClassLoader=" + abc.getClass().getClassLoader());
            System.out.println("objectClassLoader=" + object.getClass().getClassLoader());
        //  URLClassLoader
            System.out.println("123=" + object.getClass());
//            AbcBean ss = (AbcBean) object; // 无法转换的 (1)
//            ss.greeting();  (1)
   
首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/8/8
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spring Boot 常用注解 下一篇Java 内存模型简单理解

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目