我正在讀取一個包含sha加密哈希列表的文件。我可以在內存中讀取它們作爲List<String>
。Java中用於引用哈希值的最佳內存模型是什麼?
這是一個非常大的列表和一個字符串可能是一個非常浪費的內存模型...所以我想弄清楚是否有更好的方式來存儲這個列表在內存中。
例如,如果它是UUID字符串的列表,我會將它們變成List<UUID>
。
哈希值是否等價?
對不起 - 這裏有一些背景。我正在做一些spark-map/reduce比較,我想確保內存中的散列值儘可能高效地存儲。
從評論它聽起來像我應該將它們存儲在字節數組。所以這將意味着將字符串轉換爲哈希對象,然後獲取字節數組...
假設散列是base64編碼的字符串,您可以解碼字符串並將每個散列存儲爲字節數組。但是,您需要文件中真正大量的哈希來解決內存問題。你有多少?文件大小是多少你真的首先需要內存中的所有哈希值嗎? –
如果它們都具有相同的大小(以字節爲單位),則可能會執行更好的字節讀取塊。 – renanlf
@JBNizet將哈希存儲爲用於引用的字節數組是什麼意思? – Andremoniy