java - Java >> 和 >>> 右移运算符之间有任何性能差异吗?

标签 java performance bit-shift micro-optimization

是否有理由认为 Java 中的 >>(有符号)和 >>>(无符号)右位移位运算符会有不同的表现?我无法在我的机器上检测到任何差异。

这纯粹是一个学术问题;我敢肯定,它永远不会成为瓶颈。我知道:最好写出你最重要的意思;例如,使用 >> 除以 2。

我认为这归结为哪些架构将哪些操作实现为指令。

最佳答案

没有。 您的编译器会将这些翻译成字节码,而 JVM 将为您的架构解释字节码。我认为可以安全地假设您的架构有一个指令集,其中包括在几个时钟周期内完成的两个操作。

无论如何,这些运算符的行为有所不同,因此您不能直接互换它们。

关于java - Java >> 和 >>> 右移运算符之间有任何性能差异吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526571/

相关文章:

java - 如何使用 selenium webdriver 进行水平滚动

javascript - Javascript 中最常见的计算能力浪费是什么?

c++ - 不确定如何解释我的并行矩阵乘法代码的一些性能结果

mysql - while循环中的查询集django

java - 如何简化这个二进制到java类型的代码?

java - Android 无效使用 SingleClientConnManager : connection still allocated

java - 使用 exe4J 运行时滚动 SWT 表很慢

java - 在 Android Studio 中将图像覆盖在自定义 AlertDialog 之上

c# - 从 C# 中的 2 个字节的最后 12 位获取整数

java - 有人可以解释这种 shiftwise/Long 修补输出吗?