更新时间:2022-10-14 23:30:23
问题1:溢出的时候会有问题,比如
int a = Integer.MAX_VALUE + 16;
int b = Integer.MAX_VALUE;
System.out.println(a > b);
System.out.println(a - b > 0);
参考:http://***.com/questions/33147339/difference-between-if-a-b-0-and-if-a-b
问题2:注释已经讲了,有些虚拟机在使用数组的时候会保留一些头信息,所以数组容量不能完全被使用,这里数组是可以建Integer.MAX_VALUE
这么大,但是保留了8个容量供虚拟机使用