Java URLClassLoader和ClassLoader

java

转自:http://www.cnblogs.com/dreamroute/p/3656154.html

  开始:看名字都带有ClassLoader,叫做类加载器,事实上是可以理解为动态的加载类,不过,也不是只能加载类,也可以加载其他形式的文件,比如

说.properties属性文件。

  区别:其实在两个类加载器有一点小区别,就在于能够加载的类存放的位置,从JDK源码上来看其实是URLClassLoader继承了ClassLoader,也就是说URLClassLoader把ClassLoader扩展了一下,所以可以理解成URLClassLoader功能要多点。ClassLoader只能加载classpath下面的类,而URLClassLoader可以加载任意路径下的类。他们的继承关系如下:

public class URLClassLoader extends SecureClassLoader {}

public class SecureClassLoader extends ClassLoader {}

写个小例子测试一下:

首先在classpath和另外在根目录的webroot文件夹下面新建一个文件:都叫Jay.properties,内容不一样以示区别。

  区别:其实在两个类加载器有一点小区别,就在于能够加载的类存放的位置,从JDK源码上来看其实是URLClassLoader继承了ClassLoader,也就是说URLClassLoader把ClassLoader扩展了一下,所以可以理解成URLClassLoader功能要多点。ClassLoader只能加载classpath下面的类,而URLClassLoader可以加载任意路径下的类。他们的继承关系如下:

public class URLClassLoader extends SecureClassLoader {}

public class SecureClassLoader extends ClassLoader {}

写个小例子测试一下:

首先在classpath和另外在根目录的webroot文件夹下面新建一个文件:都叫Jay.properties,内容不一样以示区别。

以上是 Java URLClassLoader和ClassLoader 的全部内容, 来源链接: utcz.com/z/392833.html

回到顶部