【问题标题】:OutOfMemoryError on evaluation of a 2D stream评估 2D 流时出现 OutOfMemoryError
【发布时间】:2011-03-13 10:04:57
【问题描述】:

为什么下面会导致OutOfMemoryError

scala> Stream.tabulate(3, 4)(_ + _)
res0: scala.collection.immutable.Stream[scala.collection.immutable.Stream[Int]] = Stream(Stream(0, ?), ?)

scala> res0.length

sizeforce 方法的应用也是如此。

【问题讨论】:

  • 我无法重现这个。 “res0.length”为我输出“3”。没有内存不足... OS X 10.6.6、Scala 2.8.1、Java HotSpot(TM) 64 位服务器 VM(内部版本 19.1-b02-334,混合模式)。
  • @Mitchell:我使用的是 Scala 2.8.0。

标签: scala stream lazy-evaluation


【解决方案1】:

2.8有一个bug:“Stream.tabulate 创建一个无限流”

看看。 http://lampsvn.epfl.ch/trac/scala/ticket/3508

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 2017-12-28
    • 1970-01-01
    • 2016-10-28
    • 2022-01-07
    • 2020-08-11
    相关资源
    最近更新 更多