public native int hashcode();
hashcode()作為object類的乙個方法,返回物件的hashcode值——這個值與jvm相關,通常是物件相關資訊對映成的乙個數值。
hashcode()一般用於雜湊容器,比如hashmap。
hashmap的put方法原始碼如下:
public v put(k key, v value)
}modcount++;
addentry(hash, key, value, i);
return null;
}
需要注意一下幾方面:
hashmap的hash()方法原始碼如下:
static final int hash(object key)
>>>表示無符號右移;^表示異或——保證了hashcode的32位值只要有一位發生了變化,就會引起hash值的改變。
2. 兩個物件的hashcode值相等,兩個物件是否相等?
DROP TRUNCATE分割槽引發的一系列問題
生產的分片資料庫innodb buffer pool reads偏高 某個開發dba指出buffer pool記憶體裡的資料和實際占用磁碟空間應是一致的,也就是varchar n 欄位在buffer pool中也僅占用n個位元組 drop和truncate分割槽期間,查詢掛起在opening tab...
針對distinct疑問引發的一系列思考
假設有如下這樣一張 這裡的資料,具有如下的特徵 在乙個departmentid中,可能會有多個name,反之也是一樣。就是說name和departmentid是多對多的關係。現在想實現這樣乙個查詢 按照departmentid排完序之後 第一步 再獲取name列的不重複值 第二步 而且要保留在第一步...
mac安裝numpy引發的一系列問題
在安裝numpy和matplotlib過程中,直接提示 numpy requires system python 2.7 to install 但是mac電腦自帶的python本身是2.7,在stackoverflow上找到一篇文章 mac安裝matplotlib的步驟 然後寫了下面這段簡單的 測試...