Java注释会影响运行时性能吗?

Big*_*Sea 9 java performance annotations

我们知道注释会在启动期间导致组件扫描,但是一旦加载了所有配置,它是否会影响运行时性能?

顺便说一句,我们正在构建一个自行开发的轻量级restful服务框架,配置路由,我们有两种风格:

  • 硬编码的枚举
  • 注解

我们的一位同事对注释有性能问题.

Ant*_*ony 8

是的,注释在运行时添加了几毫秒.但是,一旦程序运行,就不会有额外的开销.在优化之前,运行程序以检查性能速度是否是一个问题总是一个好主意 - 如果它没有被破坏,请不要修复它.

如果程序运行得太慢,我会打赌瓶颈不是注释.要优化它,您应该编写一些基准测试代码来查找瓶颈实际位置并优化最慢的部分.你的同事最好通过在任何地方跑步和吃他的食物而不是优化他的注释来节省时间.

  • 这实际上取决于您如何使用注释。因为注释本质上只是您的类文件中的元数据,所以它们通常用于告诉 java 如何将您的类与其他库和文件一起使用(如 XML 模式:[链接](http://docs.oracle.com/javaee/5 /api/javax/xml/bind/annotation/package-summary.html). 当你要编译你的程序时,java必须将你的注解映射到你的类文件中,这涉及少量相对较快的操作。这就是延迟来自。 (2认同)