JVM 调优实战--JVM字节码
作者:互联网
目录
通过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方法。
小结
学亮编程手记 发布了778 篇原创文章 · 获赞 353 · 访问量 78万+ 关注使用字节码的方式可以很好地查看代码底层的执行,从而可以看出哪些实现效率高,哪些实现效率低。可以更好地对我们的代码进行优化,让程序执行效率更高。
标签:字节,++,StringBuilder,描述符,调优,javap,JVM 来源: https://blog.csdn.net/a772304419/article/details/104015204