Java高级优化技术
2012-05-13 16:38
141 查看
常用的:
1.优化循环。通过重新组织重复的子表达式来提高循环体的运行性能。
2减少使用对象的数量来提高运行性能。
3.缩减网络传输数据来缩短等待时间。
其他:
1.采用对象池技术,提高对象的利用效率。
性能的损耗主要源于创建和释放对象,因此要避免对象的创建和释放。采用对象池技术,预先定义一个对象池,预先创建一组待使用的对象:
Enemy[5] enemy=new Enemy[5];
for(int i=0;i<5;i++){
enemy[i]=new Enemy();
}
增加标志如used和reset标识Enemy的状态。需要创建对象时从对象池中获取 一个未被使用的对象并用reset方法初始化;需要释放时只需修改标志位以供下次使用即可。详细请参加—Java对象池技术:/article/4783883.html
2.尽可能使用基本数据类型代替对象
例如用二维数组代替一个写简单的对象。
3.优化算法
比如对于默写不要求很精细的场景和算法,用简单的算法模拟。
4.其他优化
a.如提取字符串时,试着返回子串而不是创建一个副本。
b.尽量的少创建短期的临时对象。
c.能用库函数的就不要自己创建(库函数是优化好的)
d.Map map=new HashMap();
HashMap map=new HashMap(); //这个性能更高,重构代码
e.增强型for循环和Iterable使用时,多了一个对象的创建,慎用。
f.避免enum类型。
g.嵌入式开发时注意浮点的运用,尽量不用。(处理器是否支持浮点)
h.图片资源压缩、多张图片集中到一张图片上(比单独的和小很多,省去了每张的头文件、结束文件等数据块,合并了调色板)
1.优化循环。通过重新组织重复的子表达式来提高循环体的运行性能。
2减少使用对象的数量来提高运行性能。
3.缩减网络传输数据来缩短等待时间。
其他:
1.采用对象池技术,提高对象的利用效率。
性能的损耗主要源于创建和释放对象,因此要避免对象的创建和释放。采用对象池技术,预先定义一个对象池,预先创建一组待使用的对象:
Enemy[5] enemy=new Enemy[5];
for(int i=0;i<5;i++){
enemy[i]=new Enemy();
}
增加标志如used和reset标识Enemy的状态。需要创建对象时从对象池中获取 一个未被使用的对象并用reset方法初始化;需要释放时只需修改标志位以供下次使用即可。详细请参加—Java对象池技术:/article/4783883.html
2.尽可能使用基本数据类型代替对象
例如用二维数组代替一个写简单的对象。
3.优化算法
比如对于默写不要求很精细的场景和算法,用简单的算法模拟。
4.其他优化
a.如提取字符串时,试着返回子串而不是创建一个副本。
b.尽量的少创建短期的临时对象。
c.能用库函数的就不要自己创建(库函数是优化好的)
d.Map map=new HashMap();
HashMap map=new HashMap(); //这个性能更高,重构代码
e.增强型for循环和Iterable使用时,多了一个对象的创建,慎用。
f.避免enum类型。
g.嵌入式开发时注意浮点的运用,尽量不用。(处理器是否支持浮点)
h.图片资源压缩、多张图片集中到一张图片上(比单独的和小很多,省去了每张的头文件、结束文件等数据块,合并了调色板)
相关文章推荐
- Java高级优化技术
- 详细描述Java高级优化技术及里氏置换原则(Liskov Substitution Principle)
- Java高级优化技术
- Java高级优化技术
- Android之优化技术 -- Java高级优化技术
- JAVA高级优化技术
- Java高级技术第四章——Java容器类Map之快速的HashMap
- Java高级技术第一章——你不知道的Java异常处理
- Java核心技术 卷II 高级特性 原书第9版pdf
- paip.java 架构师之路以及java高级技术
- bd高级交互技术:bd java详细揭密
- 阿里云logo 技术小能手 如何降低90%Java垃圾回收时间?以阿里HBase的GC优化实践为例 前天 421 过去的一年里,我们准备在Ali-HBase上突破这个被普遍认知的痛点,为此进行了深度分
- Java高级技术第三章——Java的String字符串类实现原理
- Java编译期优化与运行期优化技术浅析
- java高级project师须要掌握的技术
- 我的《Java 高级技术》课程PPT
- 小博老师解析Java核心技术 ——JSwing高级菜单制作
- Java高级技术 5.8 运行期类型检查 已经更新
- java学习路线-Java技术人员之路从初级到高级
- Java多线程与并发库高级应用-传统线程同步通信技术