このコードがどのように機能するかはよくわかりません:
public static boolean isUniqueChar2(String str) {
    int checker = 0;
    for (int i = 0; i < str.length(); ++i) {
        int val = str.charAt(i) - 'a';
        System.out.println(str.charAt(i) );
        System.out.println(val);
        if ((checker & (1 << val)) > 0)
            return false;
        checker |= (1 << val);
    }
    return true;
}
特に特定の >> 演算子とチェッカーの役割がわかりません