java以空间换时间_Java程序性能优化-空间换时间[1]

Java程序性能优化-空间换时间[1]以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

77825cb58135f8d3d760597c029f3e1b.png

空间换时间

与时间换空间的方法相反 空间换时间则是尝试使用更多的内存或者磁盘空间换取CPU资源或者网络资源等 通过增加系统的内存消耗 来加快程序的运行速度

这种方法的典型应用就是缓存 缓存是一块额外的系统内存区 如果没有缓存 程序依然可以正常工作 但是 在一般情况下 缓存中总是保存那些来之不易的数据 重新取得这些数据会花费大量的资源和时间 而通过缓存这块额外的内存 避免了频繁的资源消耗 加快了程序的运行速度

空间换时间是一种软件设计思路 除了缓存外 在一些算法中 也可以使用这样的技术 以下代码是典型的空间换时间排序方法

public class SpaceSort {

public static int arrayLen = ;

public static void main(String[] args) {

int[] a = new int[arrayLen];

int[] old = new int[arrayLen];

Map map = new HashMap()

int count = ;

while (count < a length) {              //初始化数组数据

int value = (int) (Math random() * arrayLen * ) + ;

if (map get(value) == null) {

map put(value value)

a[count] = value;

count++;

}

}

System arraycopy(a old a length) //这里只是为了保存原有数组

long start = System currentTimeMillis()

Arrays sort(a)

System out println( Arrays sort spend: + (System currentTimeMillis()            start) + ms )

System arraycopy(old a old length) //恢复原有数据

start = System currentTimeMillis()

spaceToTime(a)

System out println( spaceToTime spend: + (System currentTimeMillis()

start) + ms )

} lishixinzhi/Article/program/Java/gj/201311/27786

分页:123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值