题目:Java反射机制的用途和缺点 谁借莪1个温暖的怀抱¢ 2021-12-10 06:31 212阅读 0赞 # 转载:[https://www.jianshu.com/p/0590a098a8b9][https_www.jianshu.com_p_0590a098a8b9] # [![96][]][96 1] [尚硅谷教育][96 1] 关注 2018.08.21 10:57 字数 774 阅读 169评论 1喜欢 0 1.反射的用途 Uses of Reflection Reflection is commonly used by programs which require the ability to examine or modify the runtime behavior of applications running in the Java virtual machine. This is a relatively advanced feature and should be used only by developers who have a strong grasp of the fundamentals of the language. With that caveat in mind, reflection is a powerful technique and can enable applications to perform operations which would otherwise be impossible. 反射被广泛地用于那些需要在运行时检测或修改程序行为的程序中。这是一个相对高级的特性,只有那些语言基础非常扎实的开发者才应该使用它。如果能把这句警示时刻放在心里,那么反射机制就会成为一项强大的技术,可以让应用程序做一些几乎不可能做到的事情。 2.反射的缺点 Drawbacks of Reflection Reflection is powerful, but should not be used indiscriminately. If it is possible to perform an operation without using reflection, then it is preferable to avoid using it. The following concerns should be kept in mind when accessing code via reflection. 尽管反射非常强大,但也不能滥用。如果一个功能可以不用反射完成,那么最好就不用。在我们使用反射技术时,下面几条内容应该牢记于心: 1.1.性能第一 Performance Overhead Because reflection involves types that are dynamically resolved, certain Java virtual machine optimizations can not be performed. Consequently, reflective operations have slower performance than their non-reflective counterparts, and should be avoided in sections of code which are called frequently in performance-sensitive applications. 反射包括了一些动态类型,所以JVM无法对这些代码进行优化。因此,反射操作的效率要比那些非反射操作低得多。我们应该避免在经常被 执行的代码或对性能要求很高的程序中使用反射。 1.2.安全限制 Security Restrictions Reflection requires a runtime permission which may not be present when running under a security manager. This is in an important consideration for code which has to run in a restricted security context, such as in an Applet. 使用反射技术要求程序必须在一个没有安全限制的环境中运行。如果一个程序必须在有安全限制的环境中运行,如Applet,那么这就是个问题了。 1.3.内部暴露 Exposure of Internals Since reflection allows code to perform operations that would be illegal in non-reflective code, such as accessing private fields and methods, the use of reflection can result in unexpected side-effects, which may render code dysfunctional and may destroy portability. Reflective code breaks abstractions and therefore may change behavior with upgrades of the platform. 由于反射允许代码执行一些在正常情况下不被允许的操作(比如访问私有的属性和方法),所以使用反射可能会导致意料之外的副作用--代码有功能上的错误,降低可移植性。反射代码破坏了抽象性,因此当平台发生改变的时候,代码的行为就有可能也随着变化。 本教程由尚硅谷教育大数据研究院出品,如需转载请注明来源,欢迎大家关注尚硅谷公众号(atguigu)了解更多。 [https_www.jianshu.com_p_0590a098a8b9]: https://www.jianshu.com/p/0590a098a8b9 [96]: /images/20211209/9b8eb7bbb6a940afb087c67061ac24cd.png [96 1]: https://www.jianshu.com/u/5bae3c92b713
相关 Java反射API:浅析其用途和可能带来的问题 Java反射API(Reflection API)是Java语言提供的一种机制,允许我们在运行时获取类的信息,调用方法或者创建对象。以下是反射API的主要用途: 1. 动态加 矫情吗;*/ 2024年10月23日 10:42/ 0 赞/ 12 阅读
相关 理解和实现Java的反射机制 Java的反射机制是一种强大的工具,它允许我们在运行时检查类、对象以及方法的信息。 以下是如何理解和实现Java反射机制的基本步骤: 1. **获取类**:通过`Class 冷不防/ 2024年10月07日 07:21/ 0 赞/ 32 阅读
相关 Java反射API的用途和常见问题 Java反射API(Reflection API)主要用于在运行时检查类、接口、方法等信息,以及动态调用这些方法。其用途主要体现在以下几点: 1. **获取对象的信息**:通 柔情只为你懂/ 2024年09月11日 09:00/ 0 赞/ 54 阅读
相关 Java中的反射机制有何用途? Java的反射机制主要用于在运行时检查类、接口、方法和字段等对象的信息,以及动态调用这些对象的方法。 具体用途包括: 1. 动态加载类:无需在编译时声明,可以运行时通过反射 ゝ一世哀愁。/ 2024年09月04日 11:27/ 0 赞/ 40 阅读
相关 Java中的反射机制:原理、用途及其潜在风险 反射机制是Java语言中一个强大的特性,它允许我们在运行时检查类的信息,动态调用方法,甚至修改字段值。 1. 原理: - 编译期,Java编译器将源代码转化为字节码。 我就是我/ 2024年09月04日 04:30/ 0 赞/ 53 阅读
相关 java反射机制的使用_Java反射机制详解和使用 所有对象都是Class的实例 java的反射机制,听上去很唬人,其实很简单,一个类在编译期间,都是Class的实例,通过操作这个class我们能得到这个类的所有属性,方法,接 电玩女神/ 2022年11月03日 14:29/ 0 赞/ 198 阅读
相关 java反射机制理解及其用途归纳 转自 作者: 陈树义 链接:[http://www.imooc.com/article/23418][http_www.imooc.com_article_23418] 谁借莪1个温暖的怀抱¢/ 2022年03月19日 01:56/ 0 赞/ 205 阅读
相关 Java反射机制的原理和用途 转:https://blog.csdn.net/Appleyk/article/details/77879073 看了好多关于Java反射机制的文章,大多都太过官方,消 本是古典 何须时尚/ 2022年03月01日 01:40/ 0 赞/ 229 阅读
相关 题目:Java反射机制的用途和缺点 转载:[https://www.jianshu.com/p/0590a098a8b9][https_www.jianshu.com_p_0590a098a8b9] [![ 谁借莪1个温暖的怀抱¢/ 2021年12月10日 06:31/ 0 赞/ 213 阅读
还没有评论,来说两句吧...