Java’Prototype’模式 – 新的vs克隆vs class.newInstance

前端之家收集整理的这篇文章主要介绍了Java’Prototype’模式 – 新的vs克隆vs class.newInstance前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的项目中,有一些“Prototype”工厂通过克隆最终的私有实例来创建实例.

这些工厂的作者表示,这种模式提供比调用“新”运算符更好的性能.

使用谷歌获得一些线索,我没有发现任何相关的.
这是javdoc from an unknown project发现的一个小节选

Sadly,clone() is rather slower than
calling new. However it is a lot
faster than calling
java.lang.Class.newInstance(),and
somewhat faster than rolling our own
“cloner” method.

对我来说,它看起来像是java 1.1时代的最佳实践.
有人更了解这个吗?这是使用“现代”jvm的好习惯吗?

解决方法

当然,这种做法是完全过时的.自此,Java虚拟机大幅改善.对象创建非常便宜.另一个相关的实践,对象池化也是过时的,因为对象创建和清理的成本现在要高得多.在某些情况下,这可能是有用的( Jon Skeet gives some good examples here),但绝对不应该是这样的基础框架库的一部分.

我建议找一些新的图书馆和/或一个新的项目来工作;-)

查看这个类文章Java Urban Performance Legends了解更多的见解.

猜你在找的Java相关文章