我正在经历Java反射的缺点,并从Java文档中了解到以下语句:
性能开销 由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射操作的性能比它们的非反射操作要慢,在性能敏感的应用程序中经常调用的代码部分应该避免反射操作。
请帮助我理解这一点。这意味着,反射涉及动态解析的类型?JVM一般提供哪些优化?
发布于 2014-03-02 19:32:15
正如您很容易理解的,JVM在启动您的程序时会做很多改进来提高代码的性能(这是一件很棒的事情!)但是当我们谈论反射时,我们谈论的是运行时的变化(我可以说它是不确定的)。JVM无法知道它将是什么,直到它执行它),所以JVM不能改进它,因为在某些情况下,在运行时它的行为可能是不同的。
正如我在这类问题中常说的:在这里,你可以找到那些非常了解反射原理的人的答案。也到处找。
https://stackoverflow.com/questions/22132207
复制相似问题