Hallo Ihr Javafreaks ;-)
Ich hab da ein Problem mit dem dynamischen Nachladen von Class-Files während des Programmlaufs.
Ich habe eine Klasse geschrieben, die von der abstrakten Klasse java.lang.ClassLoader abgeleitet ist. Diese enthält die abstrakte Methode loadClass, die ich implementiert habe. Der Programmablauf sieht nun wie folgt aus:
- ein Class-file wird in ein Bytearray eingelesen
- mit defineClass soll aus dem Bytearray ein Objekt der Klasse Class erzeugt werden
- mit resolveClass wird die Klasse dem Betriebssystem bekannt gegeben
- ein Objekt der geladenen Klasse soll erzeugt werden
Die von mir gewünschte Klasse wird auch gefunden und in das Bytearray eingelesen, aber dann versucht die jvm noch andere Klassen z.B.: java.lang zu laden. Warum dieses? Kann ich nur Klassen nachladen, die von keiner der anderen Javaklassen abgeleitet ist? Sollte das Nachladen in einen eigenen Thread ablaufen?
Ich hab da ein Problem mit dem dynamischen Nachladen von Class-Files während des Programmlaufs.
Ich habe eine Klasse geschrieben, die von der abstrakten Klasse java.lang.ClassLoader abgeleitet ist. Diese enthält die abstrakte Methode loadClass, die ich implementiert habe. Der Programmablauf sieht nun wie folgt aus:
- ein Class-file wird in ein Bytearray eingelesen
- mit defineClass soll aus dem Bytearray ein Objekt der Klasse Class erzeugt werden
- mit resolveClass wird die Klasse dem Betriebssystem bekannt gegeben
- ein Objekt der geladenen Klasse soll erzeugt werden
Die von mir gewünschte Klasse wird auch gefunden und in das Bytearray eingelesen, aber dann versucht die jvm noch andere Klassen z.B.: java.lang zu laden. Warum dieses? Kann ich nur Klassen nachladen, die von keiner der anderen Javaklassen abgeleitet ist? Sollte das Nachladen in einen eigenen Thread ablaufen?
Comment