From Sun JRE performance tuning whitepaper, -XX:+AggressiveOpts
flag is described as:
Turns on point performance optimizations that are
Check out this blog post to find out without needing to dive into the code. http://q-redux.blogspot.com/2011/01/inspecting-hotspot-jvm-options.html
To check it for particular release:
java -XX:-AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > no_agg
java -XX:+AggressiveOpts -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version > agg
And then make diff (diff -U0 no_agg agg
).
For example, jdk 1.7.0_51:
- bool AggressiveOpts := false {product}
+ bool AggressiveOpts := true {product}
- intx AutoBoxCacheMax = 128 {C2 product}
+ intx AutoBoxCacheMax = 20000 {C2 product}
- intx BiasedLockingStartupDelay = 4000 {product}
+ intx BiasedLockingStartupDelay = 500 {product}
- bool UseFPUForSpilling = false {C2 product}
+ bool UseFPUForSpilling = true {C2 product}
Jdk 1.8.0:
- bool AggressiveOpts := false {product}
+ bool AggressiveOpts := true {product}
- intx AutoBoxCacheMax = 128 {C2 product}
+ intx AutoBoxCacheMax = 20000 {C2 product}
- intx BiasedLockingStartupDelay = 4000 {product}
+ intx BiasedLockingStartupDelay = 500 {product}
- bool EliminateAutoBox = false {C2 product}
+ bool EliminateAutoBox = true {C2 product}
- bool UseFPUForSpilling = false {C2 product}
+ bool UseFPUForSpilling = true {C2 product}