知识大全 Java程序性能优化-时间换空间

Posted 符号

篇首语:三百六十行,行行出状元。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-时间换空间相关的知识,希望对你有一定的参考价值。

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

     时间换空间

  由于系统资源是有限的 为了在有限的资源内 达成某些特定的性能目标 就需要使用时间换空间或者空间换时间的方法

  时间换空间通常用于嵌入式设备 或者内存 硬盘空间不足的情况 通过使用牺牲CPU的方式 获得原本需要更多内存或者硬盘空间才能完成的工作

  下例是一个非常简单的时间换空间的算法 实现了a b两个变量的值交换 交换两个变量最常用的方法是使用一个中间变量 而引入额外的变量意味着要使用更多的空间 采用下面的方法 则可以免去中间变量 而达到变量交换的目的 其代价则是引入了更多的CPU运算

  aa=a+b;

  b=a b;

  aa=a b;

  另一个较为有用的例子是对无符号整数的支持 在Java语言中 不支持无符号整数 这意味着当需要无符号的byte时 需要使用short代替 这也意味着空间的浪费 下例使用位运算模拟无符号byte 虽然在取值和设值过程中 需要更多的CPU运算 但是 却可以大大降低对内存空间的需求

  public class UnsignedByte

  public short getValue(byte i)      //将byte转为无符号的数字

  short li = (short) (i & xff)

  return li;

  

  public byte toUnsignedByte(short i)    //将short转为无符号byte

  return (byte) (i & xff)

  

  public static void main(String args[])

  UnsignedByte ins = new UnsignedByte()

  short[] shorts=new short[ ];      //声明一个short数组

  for(int i= ;i<shorts length;i++)    //数值不能超过无符号byte的上限

  shorts[i]=(short)i;

  byte[] bytes=new byte[ ];         //使用byte数组替代short数组

  for(int i= ;i<bytes length;i++)

  bytes[i]=ins toUnsignedByte(shorts[i])

  //short数组的数据存到byte数组中

  for(int i= ;i<bytes length;i++)

  System out print(ins getValue(bytes[i])+ )

  //从byte数组中取出无符号的byte

  

  

  注意 性能优化的关键在于掌握各部分组件的性能平衡点 如果系统CPU资源有空闲 但是内存使用紧张 便可以考虑使用时间换空间的策略 达到整体性能的改良 反之 CPU资源紧张 内存资源有空闲 则可以使用空间换时间的策略 提升整体性能

       返回目录 Java程序性能优化 让你的Java程序更快 更稳定

  编辑推荐

       Java程序设计培训视频教程

       J EE高级框架实战培训视频教程

       J ME移动开发实战教学视频

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

cha138/Article/program/Java/gj/201311/27788

相关参考

知识大全 Java程序性能优化-空间换时间[1]

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

知识大全 java性能优化-之一

  .对象的生成和大小的调整  JAVA程序设计中一个普遍的问题就是没有好好的利用JAVA语言本身提供的函数从而常常会生成大量的对象(或实例)由于系统不仅要花时间生成对象以后可能还需花时间对这些对象进

知识大全 Java程序性能优化-看懂程序的性能

Java程序性能优化-看懂程序的性能  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-性能概述

Java程序性能优化-性能概述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章 J

知识大全 Java程序性能优化--让你的Java程序更快、更稳定

Java程序性能优化--让你的Java程序更快、更稳定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧

知识大全 Java程序性能优化-优化的一般步骤

Java程序性能优化-优化的一般步骤  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-性能的参考指标

Java程序性能优化-性能的参考指标  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-系统优化注意事项

Java程序性能优化-系统优化注意事项  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!   

知识大全 Java程序性能优化-木桶原理与性能瓶颈

Java程序性能优化-木桶原理与性能瓶颈  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &nbs

知识大全 Java程序性能优化(3)

Java程序性能优化(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  十四对于boolean