gpt4 book ai didi

Java 'Prototype' 模式 - new vs clone vs class.newInstance

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:04:33 26 4
gpt4 key购买 nike

在我的项目中有一些“原型(prototype)”工厂通过克隆最终私有(private)实例来创建实例。

这些工厂的作者说,这种模式提供了比调用"new"运算符更好的性能。

使用谷歌获得一些线索,我没有找到任何相关的东西。这是在 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 'Prototype' 模式 - new vs clone vs class.newInstance,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2427317/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com