代码语言:javascript复制
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 "次");
}