public static void main(String[] args) {
int total = 100000000;
System.out.println("当前最大可用内存多少M : "+Runtime.getRuntime().maxMemory()/1024/1024);
System.out.println("需要使用内存M : "+2139788203/1024/1024);
//插入数据
byte[] arry1 = new byte[2139788200];
byte[] arry2 = new byte[773979474];
for (int i = 0; i < total; i++) {
String str = "" + i;
int h1 = str.hashCode();
arry1[Math.abs(h1)] = 1;
}
int size = 0;
for (int j = total; j < total + 1000000; j++) {
String str2 = "" + j;
int h2 = str2.hashCode();
if (arry1[Math.abs(h2)] == 1 && arry2[Math.abs(h2)] == 1) {
System.out.println("存在hash冲突了:" + j);
size++;
} else if(arry1[Math.abs(h2)] == 1 && arry2[Math.abs(h2)] != 1) {
arry2[Math.abs(h2)] = 1;
}else{
arry1[Math.abs(h2)] = 1;
}
}
System.out.println("总共hash冲突了-->" + size + "次");
}