- `-Xint`表示強制解釋執行
- 內聯調用是工程師能直接參與JIT優化的環節。
----

默認會優化成機器碼
----

解釋執行,即不優化
----

默認會優化成機器碼,但不進行內聯優化
----

----
```shell
java -XX:+UnlockDiagnosticVMOptions -XX:+PrintInlining -XX:+PrintCompilation com/ttyc/sbz/jmh/jit/HotCodeTest | grep -E 'getMsg|echo'
```

內聯通常有如下信息顯示,指示內聯是否成功
- inline(hot):表示方法被標記為內聯
- callee is to large:C1打印,指示方法超過MaxInlineSize而不能內聯
- hot method too big:C2打印,指示方法大小超過FreqInlineSize
- already compiled into a big method:內聯一個已經編譯的方法,大小超過了InlineSmallCode值
**因此我們可以觀察方法是否被內聯,以及沒有被內聯的原因。**
編程建議:
- 更小的方法體,JVM總是偏好更小的方法
- 盡量使用final、private、static修飾符
> 方法內聯不僅可以消除調用本身帶來的性能開銷,還可以進一步觸發更多的優化。因此,它可以算是編譯優化里最為重要的一環。(極客時間)