classloader
我的blog的收藏中有几篇文章可以回答你!

解决方案 »

  1.   

    classloader这个东西有点玄机,呵呵,你看看王森的《java深度历险》吧,讲的非常不错
      

  2.   

    to: lins(Anders*小明)
    你的blog收藏在哪?
      

  3.   

    说的具体些:
    oldclassloader= Thread.currentThread().getContextClassLoader();
    A a = new A();
    Thread.currentThread().setContextClassLoader(newclassloader);
    B b= new B();
    那么
    a 是用oldclassloader加载的,b使用newclassloader加载的,这样理解对吗?
      

  4.   

    一般来说,我们使用java时,不需要考虑classloader,只要类放置在classpath指定的路径范围之内,一旦用到时,会自动加载这个类(就象你前面指出的代码里的getClass().getClassLoader()使用默认的classloader加载该类),classloader多用于需要加载一些外部类尤其是没有在classpath路径指定但又希望只用,此时就需要使用class的forName方法,forName有两个不同参数的方法,一个forName可以指定三个参数,第三个参数就是指定classloader,有时出于加密类的需要,自己写classloader来载入类,防止一些类被反编译