Date对象的内存使用情况

时间:2013-10-21 19:09:47

标签: java date memory memory-management

我有一个形式为2013-10-20 15:18:39.954的字符串。我试图找出存储这些数据的最佳方法,以便它使用尽可能少的内存。目前我将它作为Date对象存储在Java中。从this链接我发现该对象使用大约32字节的内存。有没有办法使用更少的内存来存储这些数据?我试图使用尽可能低的内存,所以即使1字节较小也没关系。

我在想我可以使用String但是this链接说Strings也使用了很多内存。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:3)

您可以使用getTime() method(自纪元以来的毫秒数)and backDate转换为long,并且long为8个字节。

答案 1 :(得分:1)

java.util.Date只是一个long。您可以根据需要使用long表示相同的信息并构建Date

请注意,以这种方式存储信息(java.util.Date或long),如果将其转换回人类可读的表示形式,则不能跨平台完全移植。

如果平台升级引入了新的闰秒或夏令时规则发生变化,那么自epoch以来的毫秒数(例如,转换为“2019年6月18日午夜”)可能会发生变化。