11

原创 2013年12月05日 23:39:56
package com.ailk;

import java.lang.reflect.*;
import java.util.ArrayList;
import java.util.List;
import com.ailk.dynamic.Demo;
public class DemoMain {
    static public void main( String args[] ) throws Exception {
        String progClass ="com.ailk.dynamic.Demo";
        // 创建CompilingClassLoader
        Class c = Class.forName(progClass, true, new CompilingClassLoader());
        //DemoInterface i=(DemoInterface)c.newInstance();

        //cl1和cl2是两个不同的ClassLoader
        ClassLoader cl1=c.getClassLoader();
        ClassLoader cl2=Demo.class.getClassLoader();
        ClassLoader cl3=DemoInterface.class.getClassLoader();

        int ii=0;
        List<DemoInterface> objList=new ArrayList();
        while(true){
            ii++;
            CompilingClassLoader ccl = new CompilingClassLoader();
            // 通过CCL加载主函数类。
            Class clas = ccl.loadClass( progClass,true);
            try{
                Constructor c1=c.getDeclaredConstructor(new Class[]{String.class}); 
                c1.setAccessible(true);   
                DemoInterface a1=(DemoInterface)c1.newInstance(new Object[]{"Demo"});
            }catch(NoSuchMethodException e){
                System.out.println("构造函数不存在");
                e.printStackTrace();
            }

            DemoInterface instance=null;
            try{
                Constructor c0=clas.getDeclaredConstructor();
                c0.setAccessible(true);   
                instance=(DemoInterface)c0.newInstance();  
            }catch(NoSuchMethodException e){
                System.out.println("构造函数不存在");
                e.printStackTrace();
            }

            ccl=null;//这里讲主动释放cc1
            //DemoInterface instance=(DemoInterface)clas.newInstance();
            if (instance!=null)
            {
                objList.add(instance);
                instance.print("demo");
                // 利用反射调用它的函数和传递参数。
                // 产生一个代表主函数的参数类型的类对象。
                Class mainArgType[] = { String.class };
                //在类中找函数。
                Method method = clas.getMethod( "print", mainArgType );
                Object[] argsArray={"Demo"};
                //调用方法。
                method.invoke(instance, argsArray );                

            }
            if (ii>20)
            {
                ii=0;
                objList.clear();
            }
            Thread.sleep(500);
            //强制gc,只有objList清空后 CompilingClassLoader的实例才会释放。
            //因为只有由CompilingClassLoader载入的class的实例全部释放后,CompilingClassLoader才能被释放
            System.gc();

        }
    }
}

常见 core dump 原因分析signal 11 - SIGSEGV

signal 6 - SIGABRT free 多次 char *p = malloc(100); free(p); free(p); fclose 多次 // fclose 内...
  • duyiwuer2009
  • duyiwuer2009
  • 2015年07月09日 15:09
  • 11490

signal 11信号的处理

#include #include #include #include #include #include #include #include #include      char *buf;...
  • aiwoziji13
  • aiwoziji13
  • 2011年04月30日 14:11
  • 12731

DirectX9 10 11对比区别摘抄整理

dx8使得可编程的硬件进入管线成为了双重构造。对于DirectX 9的顶点处理与像素处理,则被真正的可编程处理器调换。而在向DirectX 10的转移为了实现更灵活的可编程性,需要GPU架构进行根本的...
  • skyell
  • skyell
  • 2015年03月08日 11:53
  • 1632

leetcode 11

Container With Most Water 一直陷入一个误区就是:以为是求最大面积,所以一直以梯形面积去计算,这困扰了我很久。 实际上跟短板原理一样,题目要求装最多的水,那么只需要求以短边...
  • zhangxiao93
  • zhangxiao93
  • 2015年09月29日 11:39
  • 993

《三国志11》版明星头像

  做的很经典!《三国志11》版明星恶搞头像徐若瑄朱茵范冰冰  关之琳郭富城莫文尉吴彦祖周慧敏蔡卓妍    陈冠希陈慧琳刘德华孙燕姿刘亦菲谢霆锋余文乐张柏芝张学友    钟欣桐梁家辉刘德华    金城...
  • zaneabc
  • zaneabc
  • 2006年08月28日 09:10
  • 5226

leetcode第11题

Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai)...
  • kesonyk
  • kesonyk
  • 2015年07月24日 15:13
  • 667

DirectX 11 编程指南

微软在2009年8月的DirectXSDK中发布了DirectX的正式版本。基于对DirectX的一贯兴趣,我把DirectX Graphics的文档边看边译为中文。也算是一份学习笔记吧。 众所...
  • pizi0475
  • pizi0475
  • 2012年07月21日 10:05
  • 6434

11选5心得

投机市场总会有点规律,但是这个规律不是一成一变的,善于抓住瞬间规律就可以跑赢大部分散户 几年前玩的玩11选5, 不确定的 放弃投注 否则变成运气 失败影响情绪 注意期号  1 定出一个胆 ...
  • nuli888
  • nuli888
  • 2016年07月17日 11:30
  • 664

Android Studio signal11解决方法

转自http://blog.csdn.net/helldevil/article/details/6682211 有一句话叫做常在河边走,哪有不湿鞋。我们这些研究和开发Android的工程师正应了这...
  • haikuotiankong2016
  • haikuotiankong2016
  • 2016年11月06日 13:40
  • 1249

report 开发过程中信号11问题的处理

   经常在report 开发中碰到信号11的问题,最近又碰到了几次。现在把信号11问题稍微总结一下。1.信号11问题是怎样的?如果并发请求报错,并且在其log 中看到如下的错误,就说明你正遭遇了信号...
  • kongkongye
  • kongkongye
  • 2008年04月17日 14:34
  • 2868
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:11
举报原因:
原因补充:

(最多只允许输入30个字)