在Java中使用反射是非常昂贵的,因为它非常严重地影响性能。但我不知道,反射被广泛用于容器配置(web.xml),框架像Structs,REST ..和ORM一样,如hibernate等。 它是如何被证明的那样?是因为当容器启动或其他原因后反射只使用一次?
答案 0 :(得分:0)
首先,我不会说使用反射会对代码性能产生如此不利的影响。当然,存在开销,但是存在优化技术,确保将性能影响保持在最低限度。就性能和可用性之间的权衡而言,应该考虑作为开发人员的产品的具体要求。例如,我是否会在移动设备上使用基于反射的重框架 - 我认为不是。它在后端是否有意义 - 我会说是的。
其次,基于注释的配置并不总是意味着在应用程序运行时使用了反射。有些框架使用AnnotationProcessor
框架并在编译期间生成java代码,后来用作“普通代码”。此外,许多框架在运行时使用注释配置和字节码生成,因此基本上,反射保持在最低限度。
答案 1 :(得分:0)
java.lang.reflect.Method
对象并将其用于进一步的调用)