您的位置:首页 > 编程语言 > Java开发

Java 程序优化:字符串操作、基本运算方法等优化策略(二)

2015-09-04 22:31 501 查看
五、数据定义、运算逻辑优化

多使用局部变量

调用方法时传递的参数以及在调用中创建的临时变量都保存在 (Stack) 里面,读写速度较快。

其他变量,如静态变量、等,都在实例变量 (heap) 中创建,读写速度较慢。

清单 12 所示代码演示了使用局部变量和静态变量的操作时间对比。

位运算代替乘除法

  位运算(>> <<)是所有的运算中最为高效的。

一维数组代替二维数组

JDK 很多类库是采用数组方式实现的数据存储,比如 ArrayList、Vector 等,数组的优点是随机访问性能非常好。一维数组和二维数组的访问速度不一样,一维数组的访问速度要优于二维数组。在性能敏感的系统中要使用二维数组,尽量将二维数组转化为一维数组再进行处理,以提高系统的响应速度。

减少循环次数

使用布尔逻辑运算符代替位运算符
if条件判断,使用&& 代替&(位运算) 使用|| 代替|(位运算)
&& || 经过编译器优化,短路

使用 arrayCopy()

数据复制是一项使用频率很高的功能,JDK 中提供了一个高效的 API 来实现它。
System.arraycopy() 函数是 native 函数,通常 native 函数的性能要优于普通的函数,所以,仅处于性能考虑,在软件开发中,应尽可能调用 native 函数
ArrayList 和 Vector 大量使用了 System.arraycopy 来操作数据,特别是同一数组内元素的移动及不同数组之间元素的复制。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: