Java反射缺点 - 性能开销

时间:2014-03-02 19:21:50

标签: java reflection

我正在经历Java反射的缺点,并从Java文档中看到以下声明:

  

效果开销

     

因为反射涉及的类型   动态解析,某些Java虚拟机优化可以   不被执行。因此,反射操作较慢   性能比他们的非反光同行,应该是   在经常调用的代码段中避免使用   对性能敏感的应用程序。

请帮助我理解这一点。这意味着反射涉及动态解决的类型? JVM一般提供哪些优化?

1 个答案:

答案 0 :(得分:2)

正如你可以很容易地理解JVM在启动你的程序时做了很多改进来提高代码的性能(这是一件很棒的事情!)但是当我们谈论反射时,我们正在讨论一个改变的事情。运行时(我可以说它是不确定的...... JVM在执行它之前无法知道它会是什么)所以JVM无法改进它,因为它在某些情况下在运行时可能会有所不同。

我总是在这样的问题中说:在这里你可以找到那些非常了解反思如何运作的人的答案。也可以搜索一下。