同一个类创建多个实例化对象,这多个实例化对象被装进几个类加载器,还是一个类加载器?

解决方案 »

  1.   

    同一个类加载器(系统类、扩展类、启动类)加载的类在堆中有且只有一个Class对象,但是自己定义的类加载器如果不是上面三个类加载器的子加载器,则就不是同一个Class对象了
      

  2.   

    同一个类实例化多次,那么每次实例化的对象都会指像同一个Class对象(堆中)
      

  3.   


    ++
    这是类的委托模式,每个Class对象只被加载一次
      

  4.   

    楼上所说的系统类、扩展类、启动类分别指的bootstrap ExtClassLoader  AppClassLoader还是什么?他们是ClassLoader的实现类吗??
      

  5.   

    类加载器bootstrap ExtClassLoader AppClassLoader是三个对象(类是抽象的,只有对象才是干事的)
    都是ClassLoader的对象
    在内存中只有一份,当要加载一个类时,会依次问AppClassLoader ExtClassLoader bootstrap,如果已经加载了则直接拿来用,若为加载则加载