簡體   English   中英

java.util.Hashset中的java.lang.ArrayStoreException

[英]java.lang.ArrayStoreException in java.util.Hashset

這是堆棧跟蹤:

java.lang.ArrayStoreException
        at java.util.HashMap.transfer(Unknown Source)
        at java.util.HashMap.resize(Unknown Source)
        at java.util.HashMap.addEntry(Unknown Source)
        at java.util.HashMap.put(Unknown Source)
        at java.util.HashSet.add(Unknown Source)

一些觀察:

  1. 這是一個間歇性的問題
  2. JDK 1.6
  3. CentOS 5.3

據我了解,此錯誤是間歇性的,我懷疑只要HashSet(因此是HashMap的基礎)需要調整自身大小,就會發生此錯誤。 但不確定為什么會出現ArrayStoreException 現在我想知道的是

-在什么情況下會發生此錯誤?

我的猜測是您正在嘗試同時從多個線程更新集合。 HashSetHashMap並非設計為線程安全的-如果要從多個線程訪問集合,則應使用同步來防止並發訪問。

當然,這只是一個猜測-在沒有看到您的代碼的情況下,我無法判斷您是否正在使用多個線程。 不過,它會伴隨着事物的間歇性方面...

暫無
暫無

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

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