Scala Value类占用的内存比预期的多

时间:2016-12-22 08:49:49

标签: scala apache-spark

我正在尝试减少程序的内存占用,并希望使用scala的override func scrollViewDidScroll(scrollView: UIScrollView) { if scrollView.contentOffset.y > CERTAIN_POINT { scrollView.scrollEnabled = false scrollView.scrollEnabled = true } } 来定义一个像java Value class一样的变量,如here所述。

我对班级的定义是:

primitive type

它使用具有以下签名的可序列化特征:

class userhashVal(val data: Int) extends AnyVal with Serializable

因此它与链接中指定的需求兼容(特征仅允许扩展通用特征)。我必须添加Serializable特性才能使它与Spark兼容。

我期望每个trait Serializable extends scala.Any with java.io.Serializable 元素只占用4个字节作为Java的int。但是使用剖析器我得到以下图片:

enter image description here

我看到这个elemtn所占用的内存是20个字节,我知道它仍然可以作为一个类,因为它有一个类加载器。

我在这里缺少什么?我做错了什么?

0 个答案:

没有答案