冷面阎罗

低调做人&&高调做事
随笔 - 208, 文章 - 3, 评论 - 593, 引用 - 0
数据加载中……

有关项目的优化问题

     今天测试程序,某一菜单进去的时候比较慢,应该说是很慢,我就跟踪也没有发现什么地方不妥的。只是有些查询语句感觉不大好。
       1、查询数据库,应该要有主键,这样查询比较快。
       2、少用string 应该多用stringbuffer。
       3、应该多操作内存,少操作数据库。
       4、if else 应该用的合理,if走完后应该跳过后面的判断,不要重复判断。
       5、其实最主要的还是搞清编译的环境--运行时还是.......?
       6、少用new,变量比较多时用完后尽早回收。
      其实主要的还是代码的“干净”,要养成良好的书写代码习惯。
     今天在晚上看到一篇文章比较不错,大家可以借鉴一下。 Java 理论与实践: 动态编译与性能测量

posted on 2007-03-29 21:43 冷面阎罗 阅读(1526) 评论(10)  编辑  收藏 所属分类: java

评论

# re: 有关项目的优化问题[未登录]  回复  更多评论   

1、查询数据库,应该要有主键,这样查询比较快。
一般设计者都会设好主健,设好主健就快了吗?答案是否定的,数据库的查询速度有很多因素,第一设置索引,第二查询时避免使用OR,少用不等于比较等等。
2、少用string 应该多用stringbuffer。
这个倒是正确,但是能做到的人太少,因为使用起来很麻烦
3、应该多操作内存,少操作数据库。
这个倒是需要斟酌思量,比如要求数据即时性

其实这些都在项目经验的积累。。。。肯能你以后会有更多领悟
2007-03-29 22:15 | 开源狂人

# re: 有关项目的优化问题  回复  更多评论   

数据库的查询是比较头疼的事,sql语句的优化,数据库字段的设计 这些专业的dba好多都说不明白,更何况是我们这边写程序的人。

数据实时性这个也是需要着重考虑的,有些需要刷新比较快,应该考虑刷新的方法,查询数据库应该在刷新前,最好是在后台进行。
2007-03-29 22:46 | 冷面阎罗

# re: 有关项目的优化问题  回复  更多评论   

说到这个,我想起来我们做演示版本的数据库的时候,用了很多存储过程和视图,频繁与数据库交互,结果导致程序运行速度很慢。
2007-03-30 08:02 | 米香儿

# re: 有关项目的优化问题  回复  更多评论   


这么多问题中,第1条(不一定是只需要主键的)最为关键,其余的基本上对性能影响不大,尤其是第2、4、6。第6点简直会误解程序员。
2007-03-30 08:40 | wangzx

# re: 有关项目的优化问题  回复  更多评论   

第6点完全是误导
2007-03-30 08:57 | dennis

# re: 有关项目的优化问题  回复  更多评论   

用 Profiler 分析分析, 笼统的下结论是不妥当的.
2007-03-30 10:13 | BeanSoft

# re: 有关项目的优化问题  回复  更多评论   

第六条回收变量这个值得商榷。
java调用回收器效果不是很好,不如让它自动回收。
第二条理论上是正确的,在大量操作字符串的时候效果最好,但是StringBuffer用起来实在是比较麻烦
2007-03-30 14:05 | yuri

# re: 有关项目的优化问题  回复  更多评论   

我个人感觉new是不大好的,而且感觉java的垃圾回收也只能在系统空闲时,而在c++中就要处处考虑内存的问题,那么我们在java中是可以借鉴一下的,如果系统不大的话,这些就不用考虑那么多了,我现在手头上这个项目java代码差不多有100M。
2007-03-30 14:49 | 冷面阎罗

# re: 有关项目的优化问题  回复  更多评论   

好文!或许new这个问题可以在以后更多的并发应用中慢慢被"忽视"掉
2007-04-07 03:37 | Shawn the Rock

# re: 有关项目的优化问题  回复  更多评论   

少用string 应该多用stringbuffer。
这点我不敢苟同,其实在jdk5以后,string的性能已经有了很大的提高,只有很特殊情况才应该考虑stringbuffer,不要过于追求那些细微的内存
2007-05-22 09:02 | littleredboy

只有注册用户登录后才能发表评论。


网站导航: