这是我在采访中被问到的:
如果一个新方法被添加到 String 类并编译并放入 rt.jar,那么 bootstrap 类加载器会加载它吗?
我回答说它不会加载,但不知道为什么。
请帮助我正确回答和解释。
这是我在采访中被问到的:
如果一个新方法被添加到 String 类并编译并放入 rt.jar,那么 bootstrap 类加载器会加载它吗?
我回答说它不会加载,但不知道为什么。
请帮助我正确回答和解释。
它将被加载。
不仅如此:它甚至不需要在 中rt.jar
,如果您将 jar 文件添加到引导类路径(请参阅 参考资料-Xbootclasspath/p:path
),那么您甚至可以java.lang.*
从其他 jar 文件加载类。
这当然是一种违反 JVM 安全性的方法,但是您需要非常深入的访问(rt.jar
对 JVM 的命令行参数进行写访问或访问),当您拥有这些时,您可以做的不仅仅是只需更换String.toString()
.