JVM 调优实战--JVM字节码
生活随笔
收集整理的這篇文章主要介紹了
JVM 调优实战--JVM字节码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
通過javap命令查看class文件的字節碼內容
常量池
?描述符
字段描述符
方法描述符
解讀方法字節碼
圖解
研究i++與++i的不同
查看字節碼
對比
分析字符串拼接孰優孰劣
小結
?
通過javap命令查看class文件的字節碼內容
通過javap命令查看字節碼并將內容寫入到Test1.txt文件中的命令:
javap -v Test1.class > Test.txt
打開Test1.txt文件:
常量池
描述符
字段描述符
方法描述符
解讀方法字節碼
圖解
研究i++與++i的不同
查看字節碼
對比
分析字符串拼接孰優孰劣
編寫測試案例:
m1方法的執行過程中,jvm底層會new StringBuilder()進行處理;
結論:m1方法中雖然在代碼中使用的是+號拼接,但是在字節碼中也被編譯成了StringBuilder的方式。因此可以得出結論:
字符串拼接,+號和StringBuilder是相等的,效率一樣。
再來看一個案例:
m1方法,底層JVM的執行過程是循環多少次就new多少個StringBuilder對象:
goto語句,比如goto 5,跳轉到第5行繼續執行。
m2方法,JVM的層只new了一個StringBuilder對象:
結論:m1的效率明顯低于m2方法。
小結
使用字節碼的方式可以很好地查看代碼底層的執行,從而可以看出哪些實現效率高,哪些實現效率低。可以更好地對我們的代碼進行優化,讓程序執行效率更高。
總結
以上是生活随笔為你收集整理的JVM 调优实战--JVM字节码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JVM 调优实战--常用JVM命令:jp
- 下一篇: Java代码优化思路(JVM的角度)