【JVM】JMH的使用(一)

介绍

JMH( Java Microbenchmark Harness )是一个用于微测的工具,可以类比成JUNIT,后者用于代码正确性,前者用于代码的性能测试。

开始第一个简单的JMH程序

简单步骤概括:

1.直接打开命令行/console ,通过maven archetype 生成jmh项目

2.然后在项目中编写需要进行微测的方法(可以指定检测输出,循环几次,以及测试数据

3.maven clean install 打包,然后运行benchmark.jar

第一步,生成JMH项目

//mvn创建命令,此处为了展示方便添加了换行符
//window执行每行末尾可以加上 ^ ,unix执行每行末尾加上 /
mvn archetype:generate
          -DinteractiveMode=false
          -DarchetypeGroupId=org.openjdk.jmh
          -DarchetypeArtifactId=jmh-java-benchmark-archetype
		  -DarchetypeVersion=1.25 
          -DgroupId=com.willl
          -DartifactId=benchmark-test
          -Dversion=1.0

DarchetypeVersion=1.25  //jmh版本
DgroupId=com.willl   //改成自己的groupId,如果想要整合成项目中的module,此处记得和父项目相同
DartifactId=benchmark-test //生成的项目名

博主在window cmd中执行:
生成项目

//cmd中执行注意空格之类的,linux中^换成/
mvn archetype:generate ^
-DinteractiveMode=false ^
-DarchetypeGroupId=org.openjdk.jmh ^
-DarchetypeArtifactId=jmh-java-benchmark-archetype ^
-DarchetypeVersion=1.25 ^
-DgroupId=com.willl ^
-DartifactId=benchmark-test ^
-Dversion=1.0

第二步,在项目中编写自己需要测试的类

使用maven提供的默认类作为参考编写,先不用纠结注解的具体使用

package com.willl;

import org.openjdk.jmh.annotations.Benchmark;

@BenchmarkMode(Mode.AverageTime) //标识测试平均时长
@Warmup(iterations = 2)  //理解成热身
@Measurement(iterations = 2) //理解成循环几次,然后算平均
public class MyBenchmark {
   

    @Benchmark //标识需要进行微测
    public<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值