私はJMH
サンプルを読んでいますが、今度は約inheritanceのセクションにあります。ここで彼らが作った発言は次のとおりです。Javaコンパイルと継承の理解
我々は唯一のコンパイル時の型階層を知っているので、それは同じコンパイルセッション中 のみ可能です。つまり、 ベンチマーククラスを拡張するサブクラスの中で、のJMH コンパイル後には何の効果もありません。
私はこの編集の側面について考えていないので、これは私にとっては明らかではないようです。我々はClass::getSuperClass
を使用することができます。例:
@Benchmark
public abstract class MyBenchmark{
public void mb(){
doSome();
}
public abstract doSome();
}
このクラスをコンパイルするとき、JHMはベンチマーク生成にアノテーションプロセッサを使用すると考えました。そして、サブクラスをコンパイルしようとすると、アノテート・プロセッサに何も処理がないので、サブクラスをコンパイルしようとすると、何の効果もありません。
これはコメントではなく、質問です。 –
@MarkoTopolnikどういう意味ですか? **私はちょうど混乱していました**コンパイル中のタイプ階層を知っています**。それはどういう意味ですか? –
注釈プロセッサはコンパイル時に実行されます。 –