加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 17:48:29 所属栏目:Java 来源:网络整理
导读:在我的项目中,有一些“Prototype”工厂通过克隆最终的私有实例来创建实例. 这些工厂的作者表示,这种模式提供比调用“新”运算符更好的性能. 使用谷歌获得一些线索,我没有发现任何相关的. 这是javdoc from an unknown project发现的一个小节选 Sadly,clone()
在我的项目中,有一些“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了解更多的见解.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读