Verwenden Sie eine der Optionen:
-Dsun.reflect.inflationThreshold=30
Erhöht die Anzahl der Anrufe durch eine Constructor/Methode/Feld vor einem nativen Accessor wird „aufgeblasen“ zu einem generierten Accessor sein. Der Standardwert ist 15.
-Dsun.reflect.inflationThreshold=0
Deaktiviert die Inflation insgesamt. Interessanterweise scheint diese Option keine Konstruktoren zu beeinflussen, aber sie funktioniert für Methoden.
können Sie testen Sie die Optionen mit einem einfachen Test App:
public class a {
public static void main(String[] args) throws Exception {
for (int i = 0; i < 20; i++) {
a.class.getDeclaredConstructor(null).newInstance(null);
}
}
private static int x;
public a() {
new Throwable("" + x++).printStackTrace();
}
}
Edit (29-Dec-2013): Die -Dsun.reflect.noInflation=true
Option deaktiviert die Inflation Mechanismus und stattdessen sofort verwendet Accessoren erzeugt, so dass Sie don Ich will diese Option nicht.
Warum ist dies markiert gcc (Gnu Compiler Collection)? Meinst du es gc (garbage collector) zu taggen? Verwenden Sie gcj (Gnu Compiler für Java)? –
Ich denke, es war ein Tippfehler, ich ändere es in 'gc' – OscarRyz