它允许程序创建和控制任何类的对象,无需提前硬编码目标类 。
这些特性使得反射特别适用于创建以非常普通的方式与对象协作的库 。
Java reflection 非常有用,它使类和数据结构能按名称动态检索相关信息,并允许在运行着的程序中操作这些信息 。
Java 的这一特性非常强大,并且是其它一些常用语言,如 C、C++、Fortran 或者 Pascal 等都不具备的 。
但反射有两个缺点 。
第一个是性能问题 。
用于字段和方法接入时反射要远慢于直接代码 。
性能问题的程度取决于程序中是如何使用反射的 。
如果它作为程序运行中相对很少涉及的部分,缓慢的性能将不会是一个问题 。
即使测试中最坏情况下的计时图显示的反射操作只耗用几微秒 。
仅反射在性能关键的应用的核心逻辑中使用时性能问题才变得至关重要 。
我最近使用反射写了一个Pojo(实体)基类,你可以到我的Csdn博客上查阅该例程 。
文章地址为: http://blog.csdn.net/CodingMouse/archive/2009/04/11/4064007.aspx
- 【游戏迷】艾尔登摩托?《特技摩托:崛起》中的《老头环》赛道
- 房屋缺西南角
- 加入社团有什么用 社团有什么用
- 【游戏世界】VR游戏内“性侵”上热搜!虚拟世界中的猥亵行为,会构成犯罪吗?
- 生活细节中的识人术:不要让一个小动作暴露了你的缺点
- 命理中的本命文昌星
- 拉菲旗下乐王吉,帕克眼中的波美侯“明日之星”
- 哪部电视剧中的反派角色让你恨不起来 琅琊榜中的誉王萧景桓
- 经典西部电影双旗镇刀客当中的疑问,刀孩的武功威震西北
- 8岁的儿子坐在客厅听老师讲游戏如何冲关,我路过时听见视频中的老师讲了好几句脏话