对于java语言来说,大量注释会影响执行效率么

对于java语言来说,大量注释会影响执行效率么,第1张

Java代码注释写的多,会影响到编译效率,但是不会影响到执行效率。

Java代码是先编译成字节码,然后被JVM解释执行的。

我做了个实验

TimeDemo 类

import java.util.ArrayList

public class TimeDemo {

public static void main(String[] args) {

long start = System.currentTimeMillis()

ArrayList<Integer> list = new ArrayList<Integer>()

for (int i = 0 i <1000000 i++) {

list.add(i)

}

long end = System.currentTimeMillis()

System.out.println("本次执行耗费了"+(end-start)+"毫秒")

}

}

TimeDemo2

import java.util.ArrayList

public class TimeDemo2 {

public static void main(String[] args) {

long start = System.currentTimeMillis()

ArrayList<Integer> list = new ArrayList<Integer>()

for (int i = 0 i <1000000 i++) {

list.add(i)

}

//用java.io生成了很多行的注释,

//注释

//注释

//注释

//注释

//注释

long end = System.currentTimeMillis()

System.out.println("本次执行耗费了"+(end-start)+"毫秒")

}

}

运行结果

当注释行数是1~1万行的时候. 能较快的编译

当注释行数达到1百万的时候,编译稍微慢一点

当注释行数达到1千万行的时候, CPU占用100%,卡了进1分钟也没有编译完成,只好强行关闭

结论:

简单明了的注释有助于程序猿对代码的读写

   只有当注释行数极大的时候,才会严重的影响编译速度。 但不会影响执行速度

先来说结论吧:你说的这句话是成立的。

原因:注解本质上通过反射来实现的,我们都知道,反射是一种程序的自省机制,其实反射是破坏封装的一种方式,反射的效率很低的,对程序本身访问会造成很多的额外开销。比如你采用Spring注解,@resource标识在一个类上面,那么程序会通过反射一遍遍的调用,首先通过class得到类对象,然后调取其中的getAnnotations()方法遍历类上的注解,一遍扫描和寻找注解,这其中就会有减慢效率,这不过是一种语法糖。其实通过xml来配置更好,不过不够方便,注解的最终意义也就是方便程序员而已。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11655658.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存