Intelligente JVM- und JIT-Mikrooptimierungen

Im Laufe der Zeit sind Suns JVM und JIT ziemlich schlau geworden. Dinge, die früher allgemein als notwendige Mikrooptimierung bekannt waren, werden nicht mehr benötigt, weil sie für Sie erledigt werden.

Früher war es beispielsweise so, dass Sie alle möglichen Klassen als endgültig markieren sollten, damit die JVM so viel Code wie möglich einfügt. Jetzt weiß die JIT jedoch, ob Ihre Klasse endgültig ist, basierend darauf, welche Klassen zur Laufzeit geladen werden. Wenn Sie eine Klasse laden, um die ursprüngliche nicht endgültig zu machen, hebt sie die Inlines der Methoden auf und hebt die Markierung auf Finale.

Welche anderen intelligenten Mikrooptimierungen übernimmt die JVM oder JIT für Sie?

BEARBEITEN: Ich habe dies zu einem Community-Wiki gemacht. Ich möchte diese im Laufe der Zeit sammeln.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage