Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java注释会影响运行时性能吗?_Java_Performance_Annotations - Fatal编程技术网

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

Java注释会影响运行时性能吗?,java,performance,annotations,Java,Performance,Annotations,我们知道注释会在启动期间导致组件扫描,但一旦加载所有配置,它会影响运行时性能吗 顺便说一句,我们正在构建一个自主开发的轻量级restful服务框架,为了配置路由,我们有两种风格: 硬编码枚举 注释 我们的一位同事关心注释的性能。是的,注释在运行时会增加几毫秒。然而,一旦程序运行,就不会有额外的开销。在优化之前,运行程序检查性能速度是否是一个问题是一个好主意,如果它没有损坏,就不要修复它 如果程序运行太慢,我敢打赌瓶颈不是注释。为了优化它,您应该编写一些基准测试代码,以找到瓶颈的实际位置,并优

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

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

  • 硬编码枚举
  • 注释

我们的一位同事关心注释的性能。

是的,注释在运行时会增加几毫秒。然而,一旦程序运行,就不会有额外的开销。在优化之前,运行程序检查性能速度是否是一个问题是一个好主意,如果它没有损坏,就不要修复它


如果程序运行太慢,我敢打赌瓶颈不是注释。为了优化它,您应该编写一些基准测试代码,以找到瓶颈的实际位置,并优化最慢的部分。你的同事最好通过到处跑和生吃来节省时间,而不是优化他的注释。

一篇相关的博文:你能解释一下为什么要花费这些额外的毫秒吗?这实际上取决于你如何使用注释。因为注释本质上只是类文件中的元数据,所以它们通常用于告诉java如何将类与其他库和文件一起使用(如XML模式:。当您要编译程序时,java必须将注释映射到类文件,这涉及少量相对快速的操作。这就是延迟的原因。还值得注意的是,正确使用注释甚至可以加快程序的速度。java将自动尝试并优化某些p编译程序时的代码艺术。如果您提前用注释指定这些优化,您可以避免java在运行时计算出来的麻烦。但是,这不太可能是您需要担心的事情,除非您的程序尽可能快地运行是绝对关键的。