Java中的空检查是否需要花费大量时间?

时间:2018-11-05 20:26:35

标签: java null

在Java中,空检查需要多长时间?

if(someBigObject == null) //How long does this take?
    throw new RuntimeException("Can't be null!");

与说i = 1差不多吗?它是否取决于对象的大小,还是因为它检查指针而不是实际值而无关紧要?

基本上我问的原因是我有一个处理大型对象的循环,需要尽可能快地运行,而且我想知道是否对每次迭代执行null检查都会产生重大影响。

1 个答案:

答案 0 :(得分:0)

如果您为从未使用过的分支检查一个简单的值,则CPU可以使用分支预测来几乎消除成本。也就是说,成本可能会低于亚纳秒。

在进行微优化之前,我会以实际的投入来描述成本。