java - 在不可变对象中克隆可变引用将在每次引用时创建不必要的对象
问题描述
我想澄清以下问题:
如果我在不可变对象中有一个可变引用,并且在将可变引用传递给任何调用者对象之前克隆了它,这不会在 JVM 中创建可变引用对象的许多副本吗?
这是建议的,还是我们有任何其他做法可以摆脱这种情况?
解决方案
实际上,这将创建原始可变对象的多个副本/克隆,但是如果其他线程正在使用这些副本,所有这些副本都会很有用。否则,如果不修改或尽可能丢弃旧的,您可以简单地在同一个线程中使用相同的副本。
推荐阅读
- reactjs - onSubmit 在每次更改时触发,基本形式没有
- python - manage.py 测试:错误:参数-v/--verbosity:预期一个参数
- python - Matplotlib 动画更新 X 轴限制不起作用
- python - 如何删除图像中不需要的部分,然后使用 Python 创建一个新的小图像?
- ti-basic - 如何防止 TI-84 上的程序被转移到另一个计算器?
- dotnetnuke - 如何在 View 启动时检测 Content 的状态?
- python - 为什么我的代码不能在 Visual Studio Code 中运行?
- javascript - 如何更新我的 javascript 变量值?
- python - 如何修复 OverflowError:int64 加法中的溢出
- java - 如何在 apache_beam 的 MapElements 中动态添加字段?