Java代码质量
liliugen
这个作者很懒,什么都没留下…
展开
-
JAVA高性能编程
[b]如何java高效編程,我在这里抛砖引玉了。希望各位大牛们能把自己的经验贴出来,大家一起讨论![/b][b]1[/b].这里比较一下ArrayList和LinkedList:1.ArrayList是基于数组,LinkedList基于链表实现。2.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。3.对于新增和删除...2008-10-21 10:34:30 · 120 阅读 · 0 评论 -
使用jmap和MAT定位内存泄漏OOM
[size=large][color=red] 注意分析 heap profile 文件[/color][/size][b]1 运行应用程序(使用jre版本为1.6以上)[/b][b]2 命令行执行[/b] jmap -dump:format=b,file=/tmp/mem4.hprof 其中/tmp/mem4.hprof 是dump出来...原创 2012-09-28 16:41:06 · 234 阅读 · 0 评论 -
代码评审怎么做,做到什么程度合适?
来自:http://www.iteye.com/topic/339832 最近在考虑在公司建立代码评审的机制,发现不像想象的那么简单: 代码评审的好处是毋庸置疑的,但也要付出成本, 而且评审别人的代码是一个比较敏感的事,所以具体操作的时候也有许多要注意的问题。 下面是我整理的文档准备开会讨论: 什么是代码评审: 代码评审也称代码复查,是指通过阅读代码来检查源代码与编码标准的符合性以及代码质...原创 2011-03-04 10:03:16 · 173 阅读 · 0 评论 -
写给我的团队成员(一)——什么是BUG?
来自:http://www.iteye.com/topic/241569 我知道你们都很忙。忙得连给代码写注释的时间都没有,哪有时间做总结呢?还是我来替大家做一些总结吧。我最近会找时间写一系列的短文,在email给你们的同时会发送到你们常去的JavaEye上。如果你抽空看看,对你和我们团队都有好处。今天我写了第一篇。 写给我的团队成员(一)—— 什么是BUG? ...原创 2011-03-04 09:42:41 · 90 阅读 · 0 评论 -
Java:synchronized修饰符在静态方法与非静态方法上的区别
synchronized在静态方法上表示调用前要获得类的锁,而在非静态方法上表示调用此方法前要获得对象的锁。public class StaticSynDemo {private static String a="test";//等同于方法print2public synchronized void print1(String b){ //调用前要取得StaticSynDe...原创 2011-09-22 22:18:35 · 387 阅读 · 0 评论 -
编码之前,请想一想 zz
第 I 条(a) 这个功能是干什么的?它跟哪些功能有关联关系?客户是否真的有必要需要这个功能?是否合情合理?(b) 一个方法,尽量只能完成一个功能,客户如果以后扩展怎么办?有时间,尽量把代码重构。(c) 如果别人可能也调用这个方法,就把它封装成另一个方法,让别人再调用这个封装的方法。(原因是方便扩展,如果以后修改了这个方法,不会影响别人的方法...原创 2011-09-22 13:40:11 · 117 阅读 · 0 评论 -
服务器端编程的十大性能问题
今年5月底,瑞士计算机世界杂志 上刊登 了Web性能诊断专家Bernd Greifeneder的一篇文章,文章列举了其在过去几年工作中所遇到的服务器端编程的十大性能问题。Andreas Grabner则在自己的博客 上对这些性能问题给出了进一步阅读的链接。希望这些问题与相关的延伸阅读能为广大的InfoQ读者带来一定的启示。问题一:过多的数据库调用 我们发现经常出现的一个问题就是在...原创 2010-11-02 18:37:00 · 109 阅读 · 0 评论 -
Util
[code="java"] /** * Write the context into the given file. * * @param context The context. * @param theFileName The file name to write to. * @throws IOException Excepti...原创 2010-02-23 11:18:02 · 75 阅读 · 0 评论 -
java 性能优化
一、避免在循环条件中使用复杂表达式在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快。例子:[code="java"]import java.util.Vector; class CEL { void method (Vector vector) { for...原创 2009-07-17 13:19:41 · 58 阅读 · 0 评论 -
java代码优化
可供程序利用的资源(内存、CPU时间、网络带宽等)是有限的,优化的目的就是让程序用尽可能少的资源完成预定的任务。优化通常包含两方面的内容:减小代码的体积,提高代码的运行效率。本文讨论的主要是如何提高代码的效率。 在Java程序中,性能问题的大部分原因并不在于Java语言,而是在于程序本身。养成好的代码编写习惯非常重要,比如正确地、巧妙地运用java.lang.String类和java.util.V...原创 2008-11-06 13:10:11 · 67 阅读 · 0 评论 -
junit4
junit4比junit3.8有了较大的改进,主要体现在 1.增加了Annotation注解。 2.类不需要extends TestCase 3.方法名可以随便起 4.通过Annotation注解(@Test)来体现某个类为测试类 5.对异常处理方面有了较大改进,如:@Test(expected = Exception.class)通过expected参数大大简化了处理 6.新增了@BeforeC...原创 2008-11-04 13:43:29 · 79 阅读 · 0 评论 -
探索 JUnit 4.4 新特性
级别: 初级丁 钦浩 (dingqinh@cn.ibm.com), 软件开发工程师, IBM2008 年 9 月 24 日本文通过理论分析和详细例子向读者阐述 JUnit 4.4 所带来的最新特性,读者通过本文的学习,可以轻松掌握使用 JUnit 4.4 的新特性。随着当前 Java 开发的越发成熟,Agile 和 TDD 的越发流行,自动化测试的呼声也越来越高。若...原创 2008-10-29 12:43:31 · 80 阅读 · 0 评论 -
Effective Java
1. 创建和销毁对象 1) 考虑用静态工厂方法代替构造函数 对于一个类,获得它的实例最常用的方法是提供一个共有的构造函数。但是有时候我们也可以为这个类提供一个简单的静态工厂方法(static factory method)。 静态工厂方法可以比构造方法更为清楚的表达要创建的类的意义,它每次被调用的时候,不要求非要创建一个新的对象,它还可以返回一个原返回类型的子类...原创 2008-10-23 14:35:05 · 93 阅读 · 0 评论 -
性能分析的几个必读的帖子:
几个必读的帖子: JVM调优的"标准参数"的各种陷阱:http://hllvm.group.iteye.com/group/topic/27945Java Crash分析:http://www.slideshare.net/RednaxelaFX/java-crashjstat显示的full GC次数与CMS周期的关系:http://rednaxelafx.iteye.com/...原创 2012-09-29 13:04:23 · 158 阅读 · 0 评论