标签: java partitioning bitwise-operators
我正在阅读hadoop代码,并在分区程序中找到了这一行。
(key.hashCode() & Integer.MAX_VALUE) % numReduceTasks
为什么他们使用按位AND?
答案 0 :(得分:18)
删除符号位。在hashCode是负数的情况下。 它就像Math.abs(key.hashCode())
Math.abs(key.hashCode())