4

私のプロジェクトには、クラスパスに 2 つの jar (xyz-jre7.jar と xyz-jre8.jar) が含まれており、これらには同じ名前のクラスが含まれています。実行時に、私のプログラムは JRE 7 と 8 の両方で正しい jar とクラスを取得しているように見えます。これらのチェックはどのファイルで行われますか?

4

1 に答える 1

1

デフォルトのClassLoaderは、非決定的な順序で jar ファイルからクラスをロードします。同じ完全修飾名を持つクラスが 2 つ以上ある場合は、最初にロードされたクラスが優先されます。

アプリケーションサーバーには通常、カスタム ClassLoader があります

于 2018-06-08T22:06:54.623 に答える