vlambda博客
学习文章列表

JVM基准化测试工具:jmh的JAVA用法简单介绍

偶然发现了这个测试工具,以前对于压力测试,我们常用的办法就是jmeter,soupUI等方式,但是这些第三方工具的使用对于开发而言可能过于简单而且测试结果在很多附加条件下并不是十分精确,这个工具主要就是解决这种极特殊情况的.

Maven工程引入jmh

<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-core</artifactId>
<version>1.21</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjdk.jmh/jmh-generator-annprocess -->
<dependency>
<groupId>org.openjdk.jmh</groupId>
<artifactId>jmh-generator-annprocess</artifactId>
<version>1.21</version>
<scope>compile</scope>
</dependency>

这两个依赖需要同时存在,而且要注意scope的问题,否则会报错Unable to find the resource: /META-INF/BenchmarkList,因为正常的测试代码在Maven依赖中在src/test/java下面,如果在src/main/java下运行,scope需要改成compile.

由于这个项目的注解官方没有文档解释只能从其他的文章博主找到可能的参考信息.传送门:http://blog.dyngr.com/blog/2016/10/29/introduction-of-jmh/#benchmark.

https://github.com/google/caliper/wiki/ProjectHome,可以通过YouTube观看视频介绍.