调用 newInstance() 是否会受到惩罚,或者底层的机制是否相同?
newInstance() 相对于 new 关键字* 有多少开销(如果有的话)?
*:忽视了 newInstance() 暗示使用反射的事实。
在现实世界的测试中,通过传递 10 个参数的“Constuctor.newInstance”创建类的 18129 个实例与通过“new”创建实例相比,程序在时间上没有明显差异。
这不是任何一种微观基准。
这是 Windows 7 x86 beta 上的 JDK 1.6.0_12。
鉴于 Constructor.newInstance 与 Class.forName.newInstance 非常相似,我想说,考虑到使用 newInstance 而不是 new 可以获得的功能,开销几乎没有什么。
与往常一样,您应该亲自测试一下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)