gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-28 23:30:18 32 4
gpt4 key购买 nike

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

最佳答案

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

然后我找到了this code这会创建数千个对象以确定对象的大小。它说 java.util.Date 的大小是 32 字节。将其与仅将日期存储为 long(这是它在内部执行的操作)进行比较 - long 是 8 个字节,因此您必须支付四倍的费用才能获得日期对象。

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

关于java - java.util.Date 对象使用多少字节的内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4681960/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com