- Wenn er bereits geladen wurde, geben Sie die Klasse zurück
- Rufen Sie die übergeordnete LoadClass() auf
- Versuchen Sie, die Klasse selbst zu laden.
Nach meinem Verständnis hat dies zwei Gründe:
- Um Probleme mit der Verwendung unterschiedlicher Klassenversionen zu vermeiden. Stellen Sie sich vor, ich würde java.lang.Object in einem Krieg neu definieren, das wäre ein Albtraum.
- Um Abhängigkeiten von untergeordneten Klassenladern zu vermeiden: Der System-Klassenlader kann nicht von untergeordneten Klassenladern abhängig sein: Es wäre beispielsweise schwierig, einen Krieg erneut bereitzustellen.
Gibt es zusätzlich zu den oben genannten Problemen noch andere Fallstricke bei der Implementierung von a Klassenlader, der nicht zuerst eine übergeordnete Suche durchführt?
Mobile version