Java ClassLoader getSystemClassLoader()方法与示例

ClassLoader类getSystemClassLoader()方法

  • getSystemClassLoader()方法在java.lang包中可用。

  • getSystemClassLoader()方法用于查找要委派的系统类加载器,这将是ClassLoader新实例的默认委派父级。

  • getSystemClassLoader()方法是一个静态方法,可以通过类名进行访问,如果尝试使用类对象访问该方法,则不会出现任何错误。

  • 在检查安全性约束时,getSystemClassLoader()方法可能会引发异常。

    • SecurityException:在此异常中,当安全管理器存在时,其checkPermission()方法不允许访问系统类加载器。

    • IllegalStateException:在此异常中,在构造由属性“ java.system.class.loader”给出的类加载器期间递归调用时。

语法:

    static ClassLoader getSystemClassLoader();

参数:

  • 它不接受任何参数。

返回值:

该方法的返回类型为ClassLoader,它返回ClassLoader类型的系统类加载器。

示例

//Java程序演示示例 
//ClassLoader的ClassLoadergetSystemClassLoader()方法的说明 

public class GetSystemClassLoader {
    public static void main(String[] args) throws Exception {
        //的Class对象 
        //类名
        Class cl = Class.forName("GetSystemClassLoader");

        //的ClassLoader对象 
        //类名
        ClassLoader loader = cl.getClassLoader();

        //显示加载程序类
        System.out.println(loader.getClass());

        //的SystemClassLoader对象 
        //给定的类名
        loader = loader.getSystemClassLoader();

        //显示SystemClassLoader类
        System.out.println(loader.getClass());
    }
}

输出结果

class jdk.internal.loader.ClassLoaders$AppClassLoader
class jdk.internal.loader.ClassLoaders$AppClassLoader