Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java:类加载器_Java_Classloader - Fatal编程技术网

java:类加载器

java:类加载器,java,classloader,Java,Classloader,比如说,我有一个类a,由类加载器CL1加载 我有另一个类B,由类加载器CL2加载 假设两个类现在都由各自的类加载器加载 从A开始,如果执行以下语句,结果会是什么:B.class.getClassLoader() 它会返回CL2吗?请澄清 谢谢 高压 它会返回CL2吗 如果它有这样做的许可,那么是的——为什么不呢?结果与您从哪个类执行方法无关,它与您在哪个类上执行方法有关(在本例中,它是由CL2加载的B.class) 从: 返回类的类装入器。一些实现可能使用null来表示引导类加载器。如果该类是由

比如说,我有一个类a,由类加载器CL1加载

我有另一个类B,由类加载器CL2加载

假设两个类现在都由各自的类加载器加载

从A开始,如果执行以下语句,结果会是什么:B.class.getClassLoader()

它会返回CL2吗?请澄清

谢谢 高压

它会返回CL2吗

如果它有这样做的许可,那么是的——为什么不呢?结果与您从哪个类执行方法无关,它与您在哪个类上执行方法有关(在本例中,它是由CL2加载的
B.class

从:

返回类的类装入器。一些实现可能使用null来表示引导类加载器。如果该类是由引导类装入器装入的,则在此类实现中,该方法将返回null

如果存在安全管理器,且调用方的类加载器不为null,且调用方的类加载器与请求其类加载器的类加载器不相同或不是该类加载器的祖先,则此方法使用RuntimePermission(“getClassLoader”)调用安全管理器的checkPermission方法确保可以访问该类的类加载器的权限

因此,假设您加载的是一个实际的类(而不是原语),并且安全管理器说您有权检查该类,是的-它将返回相应的类加载器(在本例中为CL2)

它会返回CL2吗

如果它有这样做的许可,那么是的——为什么不呢?结果与您从哪个类执行方法无关,它与您在哪个类上执行方法有关(在本例中,它是由CL2加载的
B.class

从:

返回类的类装入器。一些实现可能使用null来表示引导类加载器。如果该类是由引导类装入器装入的,则在此类实现中,该方法将返回null

如果存在安全管理器,且调用方的类加载器不为null,且调用方的类加载器与请求其类加载器的类加载器不相同或不是该类加载器的祖先,则此方法使用RuntimePermission(“getClassLoader”)调用安全管理器的checkPermission方法确保可以访问该类的类加载器的权限


因此,假设您加载的是一个实际的类(而不是原语),并且安全管理器说您有权检查该类,是的-它将返回相应的类加载器(本例中为CL2)。

它确实返回加载了类B的类加载器,但调用方应该对该类加载器拥有权限

检查API文档


它确实返回加载了类B的类加载器,但调用方应该拥有该类加载器的权限

检查API文档


@user127377:对帮助过你的答案表示感谢的标准方式是投票支持。如果你认为这是最好的答案,你应该将其标记为已接受。有关更多信息,请参阅。@user127377:对帮助您的答案表示感谢的标准方式是投票支持。如果你认为这是最好的答案,你应该将其标记为已接受。有关更多信息,请参阅。