ambry-utils/src/main/java/com/github/ambry/utils/OpenBitSet.java
/**
   * clears a bit.
   * The index should be less than the OpenBitSet size.
   */
clears a bit.
The index should be less than the OpenBitSet size.
clears a bit . The index should be less than the OpenBitSet size .
public void clear(int index) {
    int wordNum = index >> 6;
    int bit = index & 0x03f;
    long bitmask = 1L << bit;
    bits[wordNum / PAGE_SIZE][wordNum % PAGE_SIZE] &= ~bitmask;
  }
public void clear ( int index ) { int wordNum = index >> 6 ; int bit = index & 0x03f ; long bitmask = 1L << bit ; bits [ wordNum / PAGE_SIZE ] [ wordNum % PAGE_SIZE ] &= ~ bitmask ; }
clears a bit.
clears a bit .
// hmmm, it takes one more instruction to clear than it does to set... any // way to work around this?  If there were only 63 bits per word, we could // use a right shift of 10111111...111 in binary to position the 0 in the // correct place (using sign extension). // Could also use Long.rotateRight() or rotateLeft() *if* they were converted // by the JVM into a native instruction. // bits[word] &= Long.rotateLeft(0xfffffffe,bit);