簡體   English   中英

Java Hashmap。 應該使用多少個最大記錄?

[英]Java Hashmap. How many maximum records should it be used for?

我有10,000個映射。 將它們全部放在Java Hashmap中並訪問是不是一個好主意? 這將保存數據庫事務,因為所有10,000條記錄都將存在於內存中。 每個映射都有大約100個字符,包括鍵和值,映射將非常明顯。 提出這個問題,因為在java或類似的情況下沒有很好的經驗。

就內存而言,10K對象是桶中的一滴(原諒雙關語)。

嘗試一下,看看,但我想你甚至可以找到最適合的內存容量,這些天會處理它。 確保你有一個合理的堆大小: -Xmx512m或其他什么

應該不是問題。 需要注意的事項:

  1. 使用預期容量創建HashMap實例,以避免在添加10K項目時調整地圖大小。
  2. 確保您的密鑰具有良好的hashcode並匹配equals實現。 如果你使用像String這樣的東西,這已經為你完成了。

要映射的元素有多大?

它取決於所需元素的大小和JVM上的可用大小,但在大多數情況下,擁有10,000個映射是可行的。

HashMap.size()的返回類型是整數。

int HashMap.size()(返回此映射中鍵 - 值映射的數量。)

因此,您最多可以存儲2,147,483,647個對象。

int - > int數據類型是32位帶符號的二進制補碼整數。 它的最小值為-2,147,483,648,最大值為2,147,483,647(含)。

要將最大值存儲到地圖中,您需要增加堆大小(取決於您的需要)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM