JVM-Option XX: UseFastEmptyMethods / XX: UseFastAccessorMethods

8

Bei der Betrachtung von möglichen JVM-Flags zur Optimierung der Startup-Startzeit meines RCP-Produkts fand ich diese ansprechend genannten -XX:UseFastEmptyMethods und -XX:UseFastAccessorMethods .

Es scheint, dass diese Flags auf JDK-6 (und standardmäßig aktiviert) waren, während sie standardmäßig auf JDK-7 deaktiviert waren. Außerdem habe ich gelesen, dass der Kompromiss für diese Optimierung darin besteht, dass sie die Methodenaufrufzähler nicht erhöhen.

Welche Auswirkungen hat die Verwendung von Aufrufzählern? Hat das Auswirkungen auf die Speicherbereinigung?

    
ᴳᵁᴵᴰᴼ 14.03.2013, 04:45
quelle

1 Antwort

7

Es dient dazu, die Aufrufanzahl von Methoden korrekt zu ermitteln, damit die VM die Hotspots in Ihrem Code besser identifizieren kann.

Nach der Diskussion von hier

  

Wenn Sie JDK6 verwenden, müssen Sie möglicherweise diese zwei VM-Flags in Ihre einfügen   Java-Zielanwendung:
-XX: -UseFastEmptyMethods -XX: -UseFastAccessorMethods

     

Andernfalls werden leere Methoden und Zugriffsmethoden nicht in der Liste angezeigt, da die   Die "schnelle" Version erhöht den Aufrufzähler für diese nicht   Methoden. In JDK7 sind diese beiden Flags standardmäßig auf "false" gesetzt, was Sie nicht haben   zu stören, sie explizit auf false zu setzen.

Siehe auch:

UseFastEmptyMethods / UseFastAccessorMethods als schädlich angesehen

    
Ajay George 14.03.2013, 05:01
quelle