int END=Integer.MAX_VALUE;
int START=END-100;
for(int a=START;a<=END;a++){
int START=END-100;
for(int a=START;a<=END;a++){
}
在看别人java web时运行后发现资源文件都存在可浏览器一直在加载,初步猜想陷入拦截器死循环,然后查看拦截器,发现没有问题。
接着看,突然发现上边的代码,咋眼一看,循环100次没有任何问题,debug之后突然发现问题所在,下面是循环时a的值
当a的值为Integer.MIN_VALUE
突然想到Integer.MAX_VALUE+1=Integer.MIN_VALUE
Integer.MAX_VALUE的二进制是0111 1111 1111 1111 1111 1111 1111 1111
Integer.MIN_VALUE的二进制是 1000 0000 0000 0000 0000 0000 0000 0000
妈蛋,写着代码的人为啥不直接写个a=0;a<=100