百科知识

Java中如何区分抽象类和接口?

2011-01-09 22:31:351***
Java中如何区分抽象类和接口?: 类加载器: java虚拟机中可以安装多个类加载,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStr?

最佳回答

  •    类加载器: java虚拟机中可以安装多个类加载,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap(内嵌在java虚拟机中由C++编写),ExtClassLoader,AppClassLoad 类加载器也是java类,因为其他是java类的类加载器本身也要被类加载器加载,显然必须有第一个类加载器不是java类,这正是BootStrap。
       java虚拟机中的所有类装载器采用具有父子关系的树形结构进行组织,在实例化每个类装载器对象时,需要为其指定一个父级类装载器对象 或者采用系统类装载器为其父级类加载。 类加载器之间的父子关系和管辖范围: BootStrp------>JRE/lib/rt。
      jar ExtClassLoader---------->JRE/lib/ext/*。jar AppClassLoader---------->CLASSPATH指定的所有jar或目录。 类加载器的委托机制: 当java虚拟机要加载一个类时,到底派出哪个类加载器加载呢? 1。
      首先当前线程的类加载器去加载线程中的第一个类。 2。如果类A中引用了类B,java虚拟机将使用加载类A的类加载器来加载类B。 3。还可以直接调用ClassLoader。loaderClass()方法来指定某个类加载器去加载某个类。 每个类加载器加载类时,又先委托给其上级类加载器。
       1。当所有祖宗类加载器没有加载到类,回到发起者类加载器,还加载不了,则抛出ClassNotFoundException,不是再去找发起者类。
    2011-01-09 22:59:03
  • 很详细的总结啊
    2011-01-09 22:50:27
  • 太专业了,顶下,拿分走人。
    2011-01-09 22:40:13
  • 很赞哦! (41)