PMD:避免实例化循环内的新对象

PMD:避免实例化循环内的新对象,第1张

PMD:避免实例化循环内的新对象

对于您的特定用例,由于在循环 保留对新对象的引用,因此没有任何意义。因此,您的解决方案没有真正的替代方案。

一般来说,用Java创建短暂的对象很便宜
*(除了隐性成本之外,GC将更频繁地运行)。特别是,分配几乎是免费的,并且GC的时间主要取决于可到达对象的数量-死对象不会增加典型GC算法的GC时间。

如果JIT检测到创建了不必要的对象,则还可以执行各种优化。

显然,不建议创建无用的做法,但是尝试重用对象通常会适得其反。

作为一个实际示例,您可以看一下这篇文章,该文章表明在循环中创建一个新集合比在循环之前创建一个新集合并在每次迭代中清除它要便宜。

*感谢@RichardTingle提供的链接



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5439459.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存