1.What's JMH?——OpenJDK提供的微基准测试工具
官网: http://openjdk.java.net/projects/code-tools/jmh/
maven: http://central.maven.org/maven2/org/openjdk/jmh/
2.使用过程中遇到的问题及解决
简单maven工程:
<properties> <jmh.version>1.9.3</jmh.version> </properties> <dependencies> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-core</artifactId> <version>${jmh.version}</version> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-generator-annprocess</artifactId> <version>${jmh.version}</version> <scope>provided</scope> </dependency> <dependency> <groupId>org.openjdk.jmh</groupId> <artifactId>jmh-samples</artifactId> <version>${jmh.version}</version> </dependency> </dependencies>
然后运行jmh-samples jar包中的例子:org.openjdk.jmh.samples.JMHSample_01_HelloWorld
出现异常:
- Exception in thread "main" java.lang.RuntimeException: ERROR: Unable to find the resource: /META-INF/BenchmarkList
解决:安装m2e-apt插件(感谢:https://www.iteye.com/blog/szhnet-2323117)
2) 接着运行源码目录下的代码,出现异常:
Exception in thread "main" No benchmarks to run; check the include/exclude regexps.
at org.openjdk.jmh.runner.Runner.internalRun(Runner.java:256)
at org.openjdk.jmh.runner.Runner.run(Runner.java:203)
解决:安装m2e-apt后,需配置:(再次感谢:https://www.iteye.com/blog/szhnet-2323117 ,文章中已经说了,怪自己太不仔细)
勾选后再次运行测试程序,发现会在 target 目录下生成 generated-sources 和 generated-test-sources 目录,其中generated-sources 下会生成一些java类,比如CollectionsBenchmarkTest_jmh.java、CollectionsBenchmarkTest_jmh_B1.java、CollectionsBenchmarkTest_jmh_B2.java、CollectionsBenchmarkTest_jmh_B3.java等,这些类中用到了 javax.annotation.Generated 注解,于是添加依赖:
<dependency> <groupId>javax.annotation</groupId> <artifactId>javax.annotation-api</artifactId> <version>1.3.2</version> </dependency>
再次运行测试案例,成功!
相关推荐
**JMH(Java Micro Benchmark Harness)** 是一个由Oracle JDK开发团队维护的开源框架,用于在Java平台上进行微基准测试。这个"jmh-samples-1.17.1-sources.zip"压缩包包含了JMH的1.17.1版本的源代码样本,为开发者...
**JMH气象传真图播发表详解** 日本气象厅(Japan Meteorological Agency,简称JMH)是全球重要的气象服务机构之一,其发布的气象传真图对于航海、航空、气象预报以及相关行业至关重要。JMH的气象传真图播发表列出了...
= JMH Gradle Plugin :jmh-version: 1.21 :plugin-version: 0.4.8 image:http://img.shields.io/travis/melix/jmh-gradle-plugin/master.svg["Build Status (travis)", link=...
压缩包中的`jmh-core-1.20.jar`和`jmh-generator-annprocess-1.20.jar`是JMH框架的主要组成部分。`jmh-core`包含了JMH的主运行时库,提供了基准测试的运行环境和核心功能。`jmh-generator-annprocess`则是一个注解...
【标题】"jmh.rar_jmh The" 涉及的是一个名为 "jmh" 的信息系统,该系统可能是一个教务管理平台,旨在优化学校成绩管理。从描述中可以看出,这个系统是为教务处设计的,同时也服务于全校师生,以实现学生成绩管理的...
【标题】"jmh-core-1.3.3.zip" 提供的是JMH(Java Microbenchmark Harness)的核心库,这是一个由Oracle开发的开源项目,专门用于编写和运行Java微基准测试。JMH是Java开发者用来测量代码性能的有力工具,它提供了...
OnJava8书中示例必须的jmh包。书中示例程序import了此包的类,如果没有此文件,OnJava8书中示例将无法在idea中顺利运行
IDEA JMH基准测试插件 微基准测试,他是测的某一个方法的性能到底是好或者不好,换了方法的实现之后他的性能到底好还是不好。
【标题】"jmh-generator-bytecode-0.7.2.zip" 提供的是Java Microbenchmark Harness(JMH)的一个工具,用于生成字节码级别的性能基准测试。JMH是Java平台上的一个开源框架,它专注于提供准确且可重复的性能测量。这...
而`jmh-gradle-plugin`则是这个框架与流行的构建工具Gradle的整合插件,使得在Gradle项目中使用JMH变得简单易行。 **一、JMH简介** JMH的主要目标是消除编写基准测试时常见的陷阱,如不准确的计时、缓存污染和JVM...
Java Microbenchmark线束(JMH)的Intellij IDEA插件 这是一个插件,允许您以与JUnit相同的方式使用 。 以下是已实现的功能: @Benchmark方法生成 运行单独的@Benchmark方法 在一堂课中运行所有基准测试 我该如何...
《JMH性能测试详解:深度探索Hibernate项目的微基准实验》 在Java开发领域,性能测试是确保代码高效运行的关键环节。"jmh-perf-tests"是一个专注于JMH(Java Microbenchmark Harness)性能测试的项目,它针对...
JMH可视化器 直观地查看您的基准! 在线版本位于 ! 带有2个配套项目: 特征 无服务器架构-所有操作均在您的浏览器中本地进行 可视化按基准测试类别分组的(一个JSON文件)的基准测试 带有分数和分数错误的垂直条形...
jmh_release_V3.0.4_12232159.apk.1(1).1
【标题】:“JMH简介Java开发Java经验技巧共8页.pdf.zi” 指向的是一份关于Java开发和优化技术的文档,特别提到了Java Microbenchmark Harness(JMH),这是一项强大的性能测试框架,用于Java、JavaScript、JVM语言...
jmh样本注意:自2013年6月15日起,罐子/样品是最新的。 从那以后,JMH已经走了很长一段路,并且玩起来容易得多。 现在,我删除了旧的jar / samples,并改为使用Maven托管依赖项。 JMH样本。 设置该设置是为了支持我...
Java Micro Benchmark Harness(JMH)就是这样一款强大的工具,它由Oracle JDK开发团队维护,专为Java、JVM以及相关语言提供了一个标准的基准测试框架。本文将深入探讨如何使用JMH进行微基准测试,分享一些相关的...