面接で聞かれたことは以下です。
新しいメソッドが String クラスに追加され、コンパイルされて rt.jar に配置された場合、ブートストラップ クラス ローダーはそれをロードしますか?
ロードされないと答えましたが、理由はわかりませんでした。
正しい答えとその説明を教えてください。
面接で聞かれたことは以下です。
新しいメソッドが String クラスに追加され、コンパイルされて rt.jar に配置された場合、ブートストラップ クラス ローダーはそれをロードしますか?
ロードされないと答えましたが、理由はわかりませんでした。
正しい答えとその説明を教えてください。
ロードされます。
それだけではありませんrt.jar
。jar ファイルを boot-classpath の先頭に追加すると (「参考文献」を参照)、他の jar ファイルからクラスを-Xbootclasspath/p:path
ロードすることさえできます。java.lang.*
もちろん、これは JVM のセキュリティに違反する方法ですが、かなり深いアクセス (JVM の書き込みアクセスrt.jar
またはコマンド ライン パラメータへのアクセス) が必要であり、それらがあれば、それ以上のことができます。交換するだけString.toString()
です。