关于项目代码,你可以跟着本文章来一步步的完成,当然你也可以从这里直接下载项目代码:
1、JMH简介
JMH,即 Java Microbenchmark Harness,是专门用于代码微基准测试的工具套件,是一个Oracle维护的流行的框架,你可以用它来帮你完成代码性能分析检测。在实践中,如果你想提高代码的性能,你可以使用该工具很方便快捷的进行代码性能测试。
2、详细使用
官网地址:
如果你习惯看英文,可以直接参考本文章,如果不太习惯可以继续往下看
3、构建mavan项目
1)使用IntelliJ IDEA构建
File ——>New Project
设置引入项目的参数:
设置测试项目的参数:任意设置即可
next……next
等待项目构建完成:
2)使用 maven 命令构建
mvn archetype:generate
-DinteractiveMode= false
-DarchetypeGroupId=org.openjdk.jmh
-DarchetypeArtifactId=jmh-java-benchmark-archetype
-DgroupId=org.sample
-DartifactId=test
-Dversion=1.0
4、测试你的方法
public class MyBenchmark {
@Benchmark
public void testAddString() {
String a = “”;
for (int i = 0; i < 20; i++) {
a += i;
}
}
@Benchmark
public void testAddStringBuilder() {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 20; i++) {
sb. append (i);
}
}
}
5、运行性能测试
1)执行mvn install
注释:只要改变代码,都需要重新mvn install
2)运行
设置运行参数:
-f 1:设置只运行一次
右键运行jar文件:
运行过程:
拓展:当然你也可以直接通过命令行来运行
进入jar文件所在的目录,在当前目录,打开cmd命令,即可:
6、分析实验结果
注释 :图中 ops / ms 意思是每毫秒执行的方法次数。显而易见,StringBuilder的速度确实比String进行字符串的拼接的效率好太多。
下篇我们将分享 IntelliJ IDEA如何集成JMH
拓展:关于JMH的更多使用参数、更多使用实例你可以参考接下来的文章,也可以直接看官网实例
官网实例: