gpt4 book ai didi

java - java中引用哈希值的最佳内存模型是什么?

转载 作者:太空宇宙 更新时间:2023-11-04 11:48:20 25 4
gpt4 key购买 nike

我正在读取一个包含 sha 加密哈希列表的文件。我可以在内存中将它们读为 List<String> .

这是一个非常大的列表,而一个字符串可能是一个非常浪费的内存模型......所以我想弄清楚是否有更好的方法来将此列表存储在内存中。

例如,如果它是 UUID 字符串列表,我会将它们变成 List<UUID> .

哈希值有等价物吗?

<小时/>

抱歉 - 这是一些背景信息。我正在做一些 Spark-Map/Reduce 比较,我想确保内存中的哈希值尽可能高效地存储。

<小时/>

从评论看来,我应该将它们存储在字节数组中。因此,这意味着将字符串转换为哈希对象,然后获取字节数组...

最佳答案

您只需使用 String.getBytes() 方法即可将 String 转换为字节数组。请注意,这将返回组成哈希值的字符串表示形式的字节,而不是哈希的数值。

相反,假设您的哈希值是十六进制(以 16 为基数)编码的字符串,那么您可以使用 Google 的 guava 库。它有一个带有哈希实用程序的 Hashing 类。它有一个存储哈希值的 HashCode 类,例如字节数组 (BytesHashCode) 中。该类有一个 fromString(string) 方法来创建一个 HashCode 实例,从中您可以获取实际值的字节数组/long/int 表示形式。该类或多或少相当于示例中的 UUID

关于java - java中引用哈希值的最佳内存模型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42099706/

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