會的
HotSpot VM默認使用一個僞隨機數生成器來實現identityHashCode
編程測試一下
@Test
// 測試identityHashCode重複情況
public void test5() {
HashMap<Integer, Object> map = new HashMap<>();
int count = 0;
while (true) {
count++;
Object o = new Object();
int i = System.identityHashCode(o);
if (map.containsKey(i)) {
System.out.println("FBI WARNING code:" + i + " count:" + count);
} else {
map.put(i, o);
}
}
}
輸出…
FBI WARNING code:2134400190 count:105496
FBI WARNING code:651156501 count:110943
FBI WARNING code:2038112324 count:145127
FBI WARNING code:1164664992 count:146060
FBI WARNING code:273791087 count:152040
FBI WARNING code:996371445 count:180652
FBI WARNING code:254720071 count:183965
FBI WARNING code:1872358815 count:186593
FBI WARNING code:332866311 count:206603
FBI WARNING code:1599622936 count:212707
FBI WARNING code:1511004956 count:214579
FBI WARNING code:1880102535 count:226219
FBI WARNING code:1796615884 count:231519
FBI WARNING code:902017230 count:241024
FBI WARNING code:405574931 count:244840
FBI WARNING code:1536177432 count:273074
FBI WARNING code:590511187 count:287764
FBI WARNING code:2145533512 count:289608
FBI WARNING code:574384831 count:305525
FBI WARNING code:400057592 count:316615
FBI WARNING code:1153910657 count:317455
FBI WARNING code:1981088223 count:332861
FBI WARNING code:243952053 count:343677
FBI WARNING code:1709295811 count:352451
FBI WARNING code:1125031787 count:372166
FBI WARNING code:341767853 count:376316
FBI WARNING code:1706412898 count:382835
FBI WARNING code:491464128 count:385466
FBI WARNING code:1336969293 count:387103
FBI WARNING code:1234736203 count:388094
FBI WARNING code:1565242025 count:388298
FBI WARNING code:1771721684 count:392632
FBI WARNING code:968138949 count:399316
FBI WARNING code:28290307 count:405575
FBI WARNING code:135934803 count:406058
FBI WARNING code:789009676 count:412684
FBI WARNING code:2137366542 count:414234
FBI WARNING code:499657066 count:416622
FBI WARNING code:284295413 count:418539
FBI WARNING code:591803852 count:421552
FBI WARNING code:1448855183 count:424431
FBI WARNING code:44568807 count:438372
FBI WARNING code:474746278 count:438393
FBI WARNING code:260230637 count:440579
FBI WARNING code:1936305900 count:446440
FBI WARNING code:1373705430 count:449457
FBI WARNING code:71265671 count:451798
FBI WARNING code:1945328279 count:453225
FBI WARNING code:1042721545 count:455691
FBI WARNING code:983101991 count:460317
FBI WARNING code:480126231 count:463181
FBI WARNING code:1674750991 count:467968
FBI WARNING code:1221564533 count:484738
FBI WARNING code:125813522 count:485484
FBI WARNING code:356529345 count:487113
FBI WARNING code:1233120224 count:493883
FBI WARNING code:519541574 count:495101
FBI WARNING code:57152028 count:504975
FBI WARNING code:2083223488 count:508705
FBI WARNING code:236776836 count:519191
FBI WARNING code:1192977809 count:529595
FBI WARNING code:2122659543 count:536896
FBI WARNING code:1001475804 count:537350
FBI WARNING code:2144164048 count:543524
FBI WARNING code:2011692739 count:553289
FBI WARNING code:1545927189 count:569917
FBI WARNING code:2028922364 count:572481
FBI WARNING code:1040066455 count:574437
FBI WARNING code:745009740 count:577843
FBI WARNING code:41731597 count:580256
FBI WARNING code:534554052 count:584427
FBI WARNING code:2066919721 count:589860
FBI WARNING code:41548185 count:590449
總結:還是會重複的 大約10W個對象後開始每1W個重複1-3次