知识大全 Java程序性能优化-空间换时间[2]
Posted 知
篇首语:不要试图去做一个成功的人,要努力成为一个有价值的人。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-空间换时间[2]相关的知识,希望对你有一定的参考价值。
Java程序性能优化-空间换时间[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
public static void spaceToTime(int[] array)
int i = ;
int max = array[ ];
int l = array length;
for (i = ; i < l; i++)
if (array[i] > max) //找出最大值
max = array[i];
int[] temp = new int[max + ]; //分配临时空间
for (i = ; i < l; i++)
temp[array[i]] = array[i]; //以索引下标来标识数字大小
int j = ;
int maxmax = max + ;
for (i = ; i < max ; i++) //线性复杂度
if (temp[i] > )
array[j++] = temp[i];
上例中 函数spaceToTime()实现了数组的排序 它不计空间成本 以数组的索引下标来表示数据大小 因此 避免了数字间的相互比较 这是一种典型的空间换时间的思路
在本例中 对 万数据进行排序(使用JVM参数 Xmx M Xms M运行程序) 在笔者的计算机上 输出显示
Arrays sort spend: ms
spaceToTime spend: ms
可以看到 在本例中spaceToTime()的速度优于JDK自带的数组排序方法 但是 这里需要指出的是 这并不表示对任何规模段的数组排序spaceToTime()都优于Arrays sort() 如果数组中元素不多 或者当前CPU的运算能力很强 那么Arrays sort()方法的执行速度并不会比spaceToTime()慢 而相对地 如果CPU运算能力较弱 那么这种以空间换取计算资源的方法会取得相对较好的效果
返回目录 Java程序性能优化 让你的Java程序更快 更稳定
编辑推荐
Java程序设计培训视频教程
J EE高级框架实战培训视频教程
J ME移动开发实战教学视频
Visual C++音频/视频技术开发与实战
Oracle索引技术
ORACLE G数据库开发优化指南
cha138/Article/program/Java/gj/201311/27787相关参考
Java程序性能优化-空间换时间[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Java程序性能优化(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 八如果只是查找单个字符
Java程序性能优化-负载均衡(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-代理模式(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Java程序性能优化-缓冲(Buffer)(2)[2]
Java程序性能优化-缓冲(Buffer)(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Java程序性能优化-对象复用“池”(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-享元模式(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! pub
Java程序性能优化-业务代理模式(2)[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! i
Java程序性能优化-缓存(Cache)(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
Java程序性能优化-单例模式(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!