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

int转byte[]优化算法解决思路

2012-05-21 
int转byte[]优化算法我想有个算法目的是将Int分散到byte中去。现在的算法是参数(int i)byte[] resultnew b

int转byte[]优化算法

我想有个算法目的是将Int分散到byte中去。

现在的算法是
参数(int i)

byte[] result=new byte[4];
result[0]=(byte)(0xff&i);
result[1]=(byte)((0xff00&i)>>8);
result[2]=(byte)((0xff0000&i)>>16);
result[3]=(byte)((0xff000000&i)>>24);

return result;

请问有没有更好的方法。

因为这个方法时不时会出现 0-70毫秒左右的延迟

[解决办法]
“0-70毫秒左右的延迟”跟你这个算法本身,肯定没啥关系。。。

这个速度已经算是很快很快了。

估计是你的JVM在做GC吧,所以 Stop The World 了。
[解决办法]
没有想到比这更快的方法了

让整数参与位运算,这是计算机最能干的事,很多指令都要解释成这些位运算指令,CPU才可以执行

除去给byte[]赋值的时间(不管什么算法此步都必不可少),只剩下4个位运算指令,现在的cpu至少都32位,所以人的四条语句基本在4个cpu周期就完成了。

 一个cpu的周期时间 = 1 / CPU频率 比如 1/2.4GHZ = 。。。反正不知道有多小
[解决办法]
你要知道 Windows 系统的计时精度只有 40ms!

热点排行