一是逃逸分析:緩存
逃逸分析的目的是判斷對象的做用域是否有可能逃逸出函數體。多線程
二是標量替換:容許將對象打散分配在棧上,函數
好比若一個對象擁有兩個字段,會將這兩個字段視做局部變量進行分配。性能
只能在server模式下才能啓用逃逸分析,spa
參數-XX:DoEscapeAnalysis啓用逃逸分析,線程
參數-XX:+EliminateAllocations開啓標量替換(默認打開)。server
Java SE 6u23版本以後,HotSpot中默認就開啓了逃逸分析,對象
能夠經過選項-XX:+PrintEscapeAnalysis查看逃逸分析的篩選結果。blog