首页 > 技术文章 > jmh源码解析-整体架构

victor2302 2019-04-23 20:59 原文

我理解的jmh运行架构图

  1. 生成字节码,字节码负责维护测试的状态和调用被测试的方法
  2. 默认在fork的进程中进行测试,可以配置多个fork进程,以减少误差
  3. 通过线程池,提交每个迭代的测试任务,任务执行后,收集结果信息
    4.打印结果信息

我的思考

如图所示
左图.反射消耗的性能在测试代码之外,不会影响被测试方法执行
右图,如果不生成字节码,则会引入反射的性能消耗

推荐阅读