@Inherited @Target(value=FIELD) @Retention(value=RUNTIME) public @interface Param
Marks the configurable parameter in the benchmark.
Param
fields should be non-final fields,
and should only reside in State
classes. JMH will inject
the value into the annotated field before any Setup
method
is called. It is not guaranteed the field value would be accessible
in any initializer or any constructor of State
.
Parameters are acceptable on any primitive type, primitive wrapper type, a String, or an Enum. The annotation value is given in String, and will be coerced as required to match the field type.
Parameters should normally provide the default values which make
benchmark runnable even without the explicit parameters set for the run.
The only exception is Param
over Enum
, which
will implicitly have the default value set encompassing all enum constants.
When multiple Param
-s are needed for the benchmark run,
JMH will compute the outer product of all the parameters in the run.
Modifier and Type | Fields and Description |
---|---|
static String |
BLANK_ARGS |
public static final String BLANK_ARGS
public abstract String[] value
Copyright © 2012–2020 Oracle. All rights reserved.