Java中的反射如何影响应用程序';s的性能以及可以使用反射的场景是什么?

Java中的反射如何影响应用程序';s的性能以及可以使用反射的场景是什么?,java,reflection,Java,Reflection,我知道反射的作用,但我想知道在什么情况下我们可以使用它。例如,使用反射,我们可以知道类是否包含指定的方法。我还想知道这种需求的实际情况?反射的使用对应用程序性能有影响吗?这里前面已经回答了反射的性能问题 不过,简单总结一下: 引述: 由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射式操作的性能比非反射式操作要慢,应该避免在性能敏感应用程序中频繁调用的代码段中使用反射式操作 如果您无法直接访问某些API(因为该API未向公众公开),或者您希望自动化某些事情(单元测试或其他

我知道反射的作用,但我想知道在什么情况下我们可以使用它。例如,使用反射,我们可以知道类是否包含指定的方法。我还想知道这种需求的实际情况?反射的使用对应用程序性能有影响吗?

这里前面已经回答了反射的性能问题

不过,简单总结一下:

引述:

由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射式操作的性能比非反射式操作要慢,应该避免在性能敏感应用程序中频繁调用的代码段中使用反射式操作


如果您无法直接访问某些API(因为该API未向公众公开),或者您希望自动化某些事情(单元测试或其他事情),则反射非常有用。

反射的性能前面已经在这里得到了回答

不过,简单总结一下:

引述:

由于反射涉及动态解析的类型,因此无法执行某些Java虚拟机优化。因此,反射式操作的性能比非反射式操作要慢,应该避免在性能敏感应用程序中频繁调用的代码段中使用反射式操作

如果您无法直接访问某些API(因为该API未向公众公开),或者您希望自动化某些事情(单元测试或其他事情),则反射非常有用。

今天,许多Java(企业)应用程序严重依赖于可在运行时处理的API的使用。这只有使用反射才能实现。事实上,当前的JavaEE标准基本上是围绕注释构建的,这些注释在运行时由JavaEE应用服务器进行评估。这也是性能方面可能存在的问题:每天处理数百万个请求的负载沉重的服务器必须执行数百万个反射方法调用,在这些场景中,每次调用的毫秒数可能会计算在内

然而,与源代码和应用程序系统的可维护性的提高相比,它在处理时间方面(扩展性也很好)被认为是值得的

如今,许多Java(企业)应用程序严重依赖于可在运行时处理的应用程序。这只有使用反射才能实现。事实上,当前的JavaEE标准基本上是围绕注释构建的,这些注释在运行时由JavaEE应用服务器进行评估。这也是性能方面可能存在的问题:每天处理数百万个请求的负载沉重的服务器必须执行数百万个反射方法调用,在这些场景中,每次调用的毫秒数可能会计算在内


然而,与源代码和应用程序系统的可维护性的提高相比,它在处理时间方面(扩展性也很好)被认为是值得的

反射可以用来做所有的脏活(打破单例,访问私有字段/方法,等等),但要牺牲整个系统的性能。反射的一个典型用例是Java注释:反射可以用来做所有脏活(打破单例,访问私有字段/方法等等)以牺牲整体系统性能为代价。反射的一个典型用例是Java注释: