博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java性能:小建议
阅读量:6588 次
发布时间:2019-06-24

本文共 972 字,大约阅读时间需要 3 分钟。

  hot3.png

性能优化是个很重要的问题,既不能忽视,又不能过度沉迷。 现在提几条小建议,当然具体情况可能要做一些改变,灵活运用:

1:不要在循环条件中计算 如果在循环条件中计算,则每循环一遍就要计算一次,这会降低效率。

2:尽量把变量,方法声明为final static 类型 比如说有一个不变数组,这种情况下把他加上final static 会更加合理,当然也可以考虑用枚举类型,具体情况具体分析。加上这两个修饰符之后,类加载之后就会生成该数组,每次方法调用就不用重新生成数组对象了,可以提高系统性能。

3:缩小变量的作用范围 关于变量,能放在方法内的就放在方法内,能放在循环中的就放到循环中,能放到try catch 块中的就放到块中,其目的就是为了加快GC回收。

4:频繁的字符串操作使用StringBuilder 或StringBuffer 虽然String的链接操作符已经做了很多优化,但是在大量的追加操作上,StringBuilder或者StringBuffer的性能要好很多。

5:使用非线性搜索 如果ArrayList中数据较多,使用indexOf查找元素会比java.util.Collections.binarySearch效率低很多,原因是binarySearch使用的是二分搜索法,而indexof是逐个元素比对。注意!!!使用binarySearch的时候,元素必须要先进性排序,否则准确性就不能确认。

6:override Exception方法的fillStackTrace方法 fillStackTrace是用来记录异常时栈信息的,这是一个非常耗时的工作,如果在开发的时候不需要关注栈信息,那么可以覆盖它,直接在方法中return this.

7:不要建立冗余对象 不需要建立的对象就不要建立,实际上要遵守还是有一定的的难度。经常在不经意之间建立冗余对象,最好就是在使用的时候才建立。

最后:程序的运行需要CPU,内存,IO,这三者就是程序性能优化的目标。 提升CPU可以加快代码的执行速度,直接表现出返回时间缩短,效率提高 内存,一个程序占用内存越大,寻址效率就越低,这也是影响效率的重要因素 I/O,是数据展示和数据存储的主要通道

转载于:https://my.oschina.net/sudojs/blog/288254

你可能感兴趣的文章
Linux常用命令汇总--cat
查看>>
java web 开发分层
查看>>
Window 2008 server DNS 无法解析ISA WPAD
查看>>
MySQL数据常用命令
查看>>
拯救路程
查看>>
jquery各历史版本下载地址
查看>>
Linux高性能网络:协程系列01-前言
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
[转]不要告诉我你懂margin
查看>>
我的友情链接
查看>>
适用于连续资源块的数组空闲链表的算法
查看>>
我的友情链接
查看>>
FragmentPagerAdapter FragmentPagerAdapter .
查看>>
objective-c(iOS5) 中weak和strong使用的区别
查看>>
我的友情链接
查看>>
框架神器:struts2标签库
查看>>
资产信息自动化收集系统 Venux
查看>>
Exchange Server 2010高可用性配置
查看>>
Linux mint 14下的powerDNS+mysql+powerAdmin搭建个性DNS域名解析服务器
查看>>