java - Try Catch 的分支预测
问题描述
我最近阅读了这个关于分支预测的非常有趣且评价很高的问题,它让我思考 - try-catch 子句如何影响分支预测(在 java 中)?有很多关于 if/else 的信息,但似乎没有人关注这方面。
分支预测器是否曾经预测会抛出异常?还是相当于每次都猜错?
让我们把它放在上下文中。假设我们有一个List
充满数字和单词的字符串。与某些分支预测优化的等效代码相比,以下代码会非常慢吗?
List<String> list = Arrays.asList("1", "some", "3", "words", "12", "in here");
for(String s : list){
try{
int number = Integer.parseInt(s);
// yay - it's a number, do something.
}catch(Exception e){
//this is a word - do something else.
}
}
或者这是否大致相当于if(){}else{}
分支预测方面的子句?
解决方案
推荐阅读
- ios - 从 xib 与从单个 vc 故事板创建 UIViewController 实例
- sql - 是否可以在 presto sql 中执行顺序行计算?
- python - (lat,long)坐标的数据清洗
- java - 如何使用 ClassLoader 在 Java 中动态获取类的完全限定名
- macos - mysqldump 命令在 linux 和 macos 之间的工作方式不同
- arm - STM32 ARMcortexM3/m4 中的串行线查看器(SWV)
- javascript - 如何在 JavaScript 函数中运行 PHP 代码?
- python - 替换后保持大写的不区分大小写的正则表达式?
- c++ - 从动态矩阵C++中删除列
- c# - ASP.NET Webforms 多个按钮