社区
Java SE
帖子详情
如何提高代码效率,增强代码风格
bloodrate
2007-12-25 10:01:41
1、代码效率问题:为什么我写的代码执行起来那么慢
2、代码风格问题:我也了解封装、继承、多态,为什么用的时候根本无法起到松耦合的作用,代码风格太滥,无法领略面向对象的含义。
...全文
161
9
打赏
收藏
如何提高代码效率,增强代码风格
1、代码效率问题:为什么我写的代码执行起来那么慢 2、代码风格问题:我也了解封装、继承、多态,为什么用的时候根本无法起到松耦合的作用,代码风格太滥,无法领略面向对象的含义。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
snowbear11
2008-01-16
打赏
举报
回复
《Beautiful Code》may give you the answer.
yollywu
2008-01-16
打赏
举报
回复
A.多分析自己的代码,注意优化性能方面的基础知识。比如:
1, 尽量不要使用+号来连接字符串,至少不要在隔行中使用+来连接字符串。因为有的java虚拟机可能对字符串连接+做了性能优化,在都同行的+字符串连接,转化为StringBuffer的append()方法来连接,所以在同行使用+和使用StringBuffer的append 来做连接性能上差不多。
2, 对小数据int的Integer封装,尽量的使用Integer.valueOf()创建,而不要使用new来创建。因为Integer类缓存了从-128到256个 状态的Integer。
3, 对Boolean类,要用valueOf()或使用Boolean.TRUE或Boolean.FALSE来创建对象。我个人觉得对Boolean类用private构造函数,可能就会避免不好的使用Boolean类了。
4, 在设计类时应尽可能地避免在类的默认构造函数中创建,初始化大量的对象。
5, 合理的申请数组空间,如果数组中所保存的元素占用内存空间较大或数组本身长度较长的情况,我们釆用可以釆用软引用的技术来引用数组,以“提醒”JVM及时的回收垃圾内存,维护系统的稳定性。
6, 避免创建重复的对象,我们在编写一个方法的时候应该先考虑方法里的局部对象域能否改为private static final,从而避免创建重复的对象。
7, 把try/catch块放入循环体内,会极大的影响性能,如果编译JIT被关闭或者你所使用的一个不带JIT的JVM,性能会将下降21%之多!
8,StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组。在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,并将原先的数组复制过来,再丢弃旧的数组。在大多数情况下,你可以在创建StringBuffer的时候指定大小,这样就避免了在容量不够的时候自动增长,以提高性能。
9, 使用Java NIO提高服务端程序的性能。
10,考虑用静态工厂方法替代构造函数。
11,在对大量的数组拷贝时,可以考虑用Arrays.copyOf()来拷贝。
12, 在并发的情况下,要合理的选择同步的策略,应该谨慎的控制synchronized块的大小,不可以将一个操作分解到多个synchronized 但也要尽量地从synchronized块中分离耗时的且不影响并发的操作。
13,要合理的选择集合框架,例如:ArrayList和LinkedList在某些不同的场合,其性能相差很大。对要做大量的插入时, LinkedList 的性能比ArrayList的性能好。对要做大量随机查找的时候用ArrayList的性能比用LinkedList的性能好。还有在不需要并发操作的情况下,选择非线程安全的集合比线程安全的集合要好。如在非线程安全的要求下,选择ArrayList要比Vector好。
14,不要在循环语句块中调用length()方法做为循环结束的条件。
15,如果字符串特别长,不要釆用charAt()一一的获取特定位置的字符,而应该调用toCharArray()方法转化为字符数组,然后通过数组 索引值获取指定位置的字符。
16,如果是想把数据封装成Double类型的,不要这样使用new Double("1.23"),而要应这样使用new Double(1.23),虽然二者都没有语法 的错误,也都能达到预期的结果,但其性能有着很大的差异。
17, 应尽量的通过缓冲流类来提高I/O操作效率,但也要合理的选择缓冲大小
B.重构,开始模仿,然后自己就能动手了。
ITOfficeBoy
2007-12-27
打赏
举报
回复
学到了!
healer_kx
2007-12-27
打赏
举报
回复
空谈效率
yuanyemars
2007-12-27
打赏
举报
回复
多写代码~~恩
然后把设计模式看了
YeLang2007
2007-12-25
打赏
举报
回复
呵呵...
效率问题是要多实践的,没有一开始就能写出高效率的代码的.
代码风格问题其实也没有什么,只是掌握好代码宿进就差不多了呀,不过还要多看看一些优秀代码就会好点...
dext
2007-12-25
打赏
举报
回复
第一个问题看数据结构和算法的书
第二个问题看设计模式和重构的书
四本书搞定.
swantt
2007-12-25
打赏
举报
回复
我写的东西是为了达到目的不折手段
完美学校网站系统全站源
代码
学校网站模板下载
办公,
提高
效率
,了解民众呼声提供全站程序. 系统自身具有强大、完备的网站后台管理功能,功能全面,操作简易。系统前台的栏目、菜单、功能入口等全部实现后台控制,用户只需在后台进行简单的设置即可制作出适合于自身...
前端开发规范
增强
团队的开发协作,制定统一的
代码
编写
风格
,
提高
我的的开发
效率
,更精准的定位错误,这就是我们来遵守的规范。前端开发人员必须按本文档规范进行前台页面的开发;如果有不对的地方或者不适合的地方请及时提出,经...
python中函数可以
提高
代码
执行速度吗,python
提高
运行
效率
_10个技巧加快Python运行速度...
但是,我们可以使用一些技术来
提高
Python
代码
的
效率
。 在本文中,我将向您展示我通常在工作中使用的加速技术。 测试环境是Python 3.7,macOS 10.14.6和2.3 GHz Intel Core i5。0.优化原理在深入探讨
代码
优化的细节...
掌握TypeScript:10个最佳实践
提高
代码
质量
在分离类型定义和实现时,需要保持接口和实现之间的一致性和正确性,同时需要遵守一定的命名规范和
代码
风格
。在 TypeScript 中,使用interface定义对象类型可以
提高
代码
的可读性和可维护性,同时也可以提供更强的...
使用IntelliJ IDEA的
代码
样式功能,编写美观又简洁的
代码
本文介绍IntelliJ IDEA提供的各种
代码
风格
功能,帮助开发人员
提高
代码
质量、可读性和可维护性,减少错误,
提高
生产
效率
。
Java SE
62,614
社区成员
307,327
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章