私のプロジェクトには、クラスパスに 2 つの jar (xyz-jre7.jar と xyz-jre8.jar) が含まれており、これらには同じ名前のクラスが含まれています。実行時に、私のプログラムは JRE 7 と 8 の両方で正しい jar とクラスを取得しているように見えます。これらのチェックはどのファイルで行われますか?
質問する
129 次
1 に答える
1
デフォルトのClassLoaderは、非決定的な順序で jar ファイルからクラスをロードします。同じ完全修飾名を持つクラスが 2 つ以上ある場合は、最初にロードされたクラスが優先されます。
アプリケーションサーバーには通常、カスタム ClassLoader があります
于 2018-06-08T22:06:54.623 に答える