DirectByteBuffer的几个点

阅读更多
1.代码中的'<<'写法
    private long ix(int i) {
        return address + (i << 0);
    }
    这个就等价下面这种写法,但为什么用(i << 0)
     private long ix(int i) {
        return address + i;
    }

我琢磨了很久,以为有什么特殊的考虑因素,后来看了其他openJDK6以后的代码才恍然大悟。DirectByteBuffer类是由Direct-X-Buffer.java作为模板生成的。生成的像其他的DirectShortBuffer和DirectCharBuffer是有 << 1。
待续...

你可能感兴趣的:(java)