由bootstrapclassloader加载类

时间:2013-09-18 12:03:16

标签: java classloader

以下是我在采访中被问到的内容:

  

如果将新方法添加到String类并编译并放入   rt.jar,然后会引导类加载器加载吗?

     

我回答说它不会被加载但是不知道为什么。

请帮助我正确回答和解释。

1 个答案:

答案 0 :(得分:0)

它将被加载。

不仅如此:它甚至不需要在rt.jar中,如果你将一个jar文件添加到boot-classpath(参见-Xbootclasspath/p:path),那么你甚至可以加载java.lang.*来自其他jar文件的类。

这个当然是一种违反JVM安全性的方法,但你需要非常深入的访问(对rt.jar的写访问权限或访问命令行参数JVM),当你拥有它们时,你可以做的不仅仅是替换String.toString()