Was sind GeneratedMethodAccessor1,2 usw. und warum werden sie nicht gefunden?

8

Ich bekomme Stack-Spuren wie folgt:

%Vor%

Was sind GeneratedMethodAccessor1, GeneratedMethodAccessor2, GeneratedMethodAccessorN und was könnte dazu führen, dass sie nicht gefunden werden? Ich mache etwas Code-Umschreiben zur Laufzeit, aber nur bevor die Klasse geladen wird, und die ersten paar Aufrufe durch Reflektion funktionieren gut. Ich frage mich, ob dies passiert, nachdem der JIT-Compiler meinen Code erfasst hat, aber ich habe nicht einmal eine sehr gute Idee, wie ich das Debuggen starten soll.

    
Adam Lewis 21.06.2009, 16:04
quelle

1 Antwort

7

GeneratedMethodAccessor### sind Klassen, die zur Laufzeit von der Reflektionsimplementierung generiert werden, um Methoden und Konstruktoren aufzurufen. Dies bildet eine Bytecode-Brücke von Instanzen von Method oder Constructor zur tatsächlichen Methode oder zum Konstruktor. Weitere Informationen finden Sie im Quellcode.

Die Deserialisierung macht auch etwas Ähnliches, indem sie etwas vom selben Mechanismus teilt, um den am meisten abgeleiteten Nicht- Serializable -Konstruktor aufzurufen.

    
Tom Hawtin - tackline 21.06.2009, 16:25
quelle