java - 哪个更快 : Cloning or using Streams?

标签 java performance stream cloning

在 Java 中,哪个更快:

  • 克隆一个对象,然后将其传递给多个监听器,假设克隆的对象不包含比嵌套数组、基元和字符串更复杂的内容
  • 使用 Streams 将数据从一个对象传递到另一个对象?

最佳答案

我猜克隆速度更快,因为:

克隆时,您可以通过实例化另一个对象及其属性来创建另一个对象。 当您使用流时,您可以序列化一个对象并反序列化它(而 Java 还必须创建该对象的实例)。因此,当您使用流时,您会产生序列化对象的开销。

当然,clone() 的实现不应该做一些不寻常的事情,这会增加复制对象的时间。使用数组、基元和字符串克隆对象不应该花费太多时间。

关于java - 哪个更快 : Cloning or using Streams?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2958843/

相关文章:

java - 如何使两点算法之间的最短路径更快?

java - Apache CXF 设置上传大小

c++ - 性能随着线程数量的增加而降低(无同步)

c# - "The given path' 格式不受支持。”

java - toCharArray 是否会调整 char 数组的大小?

java - Java对象之间的有效通信

performance - Java TLS 最大记录大小

c# - 从照片中获取 Exif 信息

android - SurfaceView 中的缩放和拖动功能

java - 找不到适合收集/减少的方法 - 无法使用 Stream() 对整数列表求和