亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Colt OpenLongObjectHashMap 除以零錯誤

從 Colt OpenLongObjectHashMap 除以零錯誤

開心每一天1111 2022-05-25 16:00:39
我從 Colt 看到了這個例外OpenLongObjectHashMap:java.lang.ArithmeticException: divide by zero        at cern.colt.map.OpenLongObjectHashMap.indexOfKey(Unknown Source)        at cern.colt.map.OpenLongObjectHashMap.get(Unknown Source)它是不可復制的。這是 indexOfKey:protected int indexOfKey(long key) {    final long tab[] = table;    final byte stat[] = state;    final int length = tab.length;    final int hash = HashFunctions.hash(key) & 0x7FFFFFFF;    int i = hash % length;    int decrement = hash % (length-2); // double hashing, see http://www.eece.unm.edu/faculty/heileman/hash/node4.html    //int decrement = (hash / length) % length;    if (decrement == 0) decrement = 1;    // stop if we find a free slot, or if we find the key itself.    // do skip over removed slots (yes, open addressing is like that...)    while (stat[i] != FREE && (stat[i] == REMOVED || tab[i] != key)) {        i -= decrement;        //hashCollisions++;        if (i<0) i+=length;    }    if (stat[i] == FREE) return -1; // not found    return i; //found, return index where key is contained}因此,唯一使用的除數是length和(length - 2),其中length是table.length,table是一個內部數組。但是,表只初始化為最小大小為 3 的數組(默認值為 277,這是我正在使用的)。整數環繞似乎也不可能。所以這似乎是一個不可能的錯誤。有任何想法嗎?
查看完整描述

1 回答

?
BIG陽

TA貢獻1859條經驗 獲得超6個贊

這原來是正在使用的 IBM JDK JIT 編譯器中的 Java 編譯器優化錯誤。

請參閱此錯誤報告:IJ06000:意外除以零異常

推薦的修復方法是禁用問題方法的 LoopVersioner 優化。


查看完整回答
反對 回復 2022-05-25
  • 1 回答
  • 0 關注
  • 62 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號