Sea*_*wen 5 java performance bit-shift micro-optimization
是否有理由认为Java中的>>(signed)和>>>(无符号)右位移位运算符会有不同的表现?我在机器上检测不到任何差异.
这纯粹是一个学术问题; 它永远不会成为我敢肯定的瓶颈.我知道:最好写出你最重要的意思; 例如,使用>>除以2.
我假设它归结为哪些体系结构具有作为指令实现的操作.
不会。您的编译器会将这些转换为字节码,而 JVM 将为您的架构解释字节码。我认为可以安全地假设您的架构具有一个指令集,其中包括在几个时钟周期内完成的两个操作。
无论如何,这些运算符的行为存在差异,因此您不能互换它们。