ForkJoinPool.getCommonPoolParallelism()==1//只有一个执行线程
DualPivotQuicksort//快速排序
private static int minRunLength(int n) {
assert n >= 0;
int r = 0; // Becomes 1 if any 1 bits are shifted off
while (n >= MIN_MERGE) {
r |= (n & 1);//判断n是奇数偶数,奇数则在n整除二后加一,偶数则n直接取一半
n >>= 1;
}
return n + r;
}
对不知道是奇数 还是偶数的n进行除二,若n是偶数则整除返回它的一半,如果n是奇数则整除二加一的方法