JDK1.8源码解析——Integer.bitCount

Posted AlaGeek

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK1.8源码解析——Integer.bitCount相关的知识,希望对你有一定的参考价值。

1、写在前面

在做题LeetCode-位1的个数-题号191-Java实现时,发现Java的Integer类有个bitCount方法可以直接计算二进制数1的个数,进行学习后记录成博客,避免忘记。

2、bitCount源码

public static int bitCount(int i) 
    // HD, Figure 5-2
    i = i - ((i >>> 1) & 0x55555555);
    i = (i & 0x33333333) + ((i >>> 2) & 0x33333333);
    i = (i + (i >>> 4)) & 0x0f0f0f0f;
    i = i + (i >>> 8);
    i = i + (i >>> 16);
    return i & 0x3f;

3、解析

不解析了,人家的博客写的真好。

以上是关于JDK1.8源码解析——Integer.bitCount的主要内容,如果未能解决你的问题,请参考以下文章

深入LinkedHashMap源码解析(JDK1.8)

HashMap源码解析(JDK1.8)

Hashtable源码解析(JDK1.8)

Object源码解析(JDK1.8)

jdk1.8 J.U.C并发源码阅读------ReentrantReadWriteLock源码解析

jdk1.8 J.U.C并发源码阅读------ReentrantReadWriteLock源码解析