java.util.Date对象使用多少个内存字节?

我需要存储大量的日期(可能足够大,以至于需要考虑使用的堆空间量,因此请不要讲授过早的优化),我想知道使用某种原始表示是否有意义java.util.Date(或其他一些现有的Date类)的形式。我知道我可以进行一些性能分析来尝试一下,但是有人知道一个Date对象使用多少字节的内存吗?

回答:

我的直觉反应是Date的内存开销非常小。检查源代码,似乎该类仅包含一个实例字段(长为毫秒)。这意味着日期对象的大小是long的大小加上Object实例的大小-

即非常小。

然后,我发现此代码创建了数千个对象来确定对象的大小。它说的大小java.util.Date是32个字节。与仅将日期存储为一个长整数(这是它在内部所做的事情)进行比较-

一个长整数是8个字节,因此为了拥有一个date对象,您必须付出四倍的代价。

但是,创建对象的开销不是很高。因此,如果您真的很担心空间,那么可以将日期存储为longs,并在需要时创建Date对象。

以上是 java.util.Date对象使用多少个内存字节? 的全部内容, 来源链接: utcz.com/qa/429229.html

回到顶部