首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

[Doing]Java常见有关问题汇总@stackoverflow

2013-10-25 
[Doing]Java常见问题汇总@stackoverflow[Q]排序后的数组处理更高效?[A]分支预测惹的祸。right every time v

[Doing]Java常见问题汇总@stackoverflow

[Q]排序后的数组处理更高效?

[A]分支预测惹的祸。right every time vs. wrong too often -> try to identify pattern(NNNNN...NTTTT...T) and follow it 

[Hack]避免关键循环内的data-dependent branching 或

Replace

int t = (data[c] - 128) >> 31;sum += ~t & data[c];

[注]2.79(排序后) vs. 8.10(未排序) vs. 3.54(未排序但Hack后) 差别还是蛮明显的


[Q]两时间相减返回诡异值

[A]Local Time Discontinuity

[注]JDK1.7版本已更正该问题


[Q]避免使用" !=null "

[A]null值可作为约定的1.有效返回值;2.无效返回值。

[Hack]第2种情况可以采用断言(-ea),也可以抛出异常。断言在响应速度和信息意义上优于异常。第1种情况尽量避免用null作为返回值:对集合而言返回空集;对非集合而言尝试Null Object Pattern。



热点排行