前面几篇blog记录的都是java中一些很基础的知识,但不经常遇到,对于我这个有2年多开发经验的码农来说,还是不知其原理。因此这里单独开篇blog来记录开发中遇到的一些很基础很有用的skills。 注:很多思想都是来自群中的讨论,在此感谢tank大牛,教会了我好多东西,thx very much. (这篇blog原本是把群的号给公布出来,我只是想让更多java lover加入群中,没想到web master把blog移入到了回收站,my god,以为我是打广告的么。不过,还是很欣赏管理员的铁面无私,加油,iteye)
skill 1: 不要在for循环中访问链表,而是用遍历器。原因:链表访问是从head一直往下遍历的,在for中访问链表,那么每次都要从head往下找,非常低效。
skill 2:尽量少在代码中出现magic number, magic string, 而是应该将这些信息配置在文件中,虽然解析配置文件比较麻烦,但你要想着代码以后是否移植,是否更加容易配置。如果你的代码只在一个项目中用到,那么这条pass
skill 3:对于那些根据数据不同显示结果不同的情况,如果学生成绩分阶梯,60分以下为D,60~70为C等等(见code complete),那么可以采用数据驱动开发(也叫表驱动开发 Table Driven Development, TDD),将数据写在文件中去解析。而不是将这部分逻辑写在代码中,用多个if或多个类。相比之下,TDD扩展更方便,代码更易维护。
skill 4:sql的执行顺序
1 FROM 获取表/视图/结果集...
2 WHERE 过滤各表/视图/结果集...内的行,然后JOIN
3 GROUP BY 分组
4 HAVING 过滤组
5 SELECT 行组都过滤好的结果集中取数据
6 ORDER BY 对要返回的结果排序
同时在oracle中,语法分析和where条件执行都是从右向左。
skill 5:
public class TestFinal
{
private static int leftOperand = 1;
private static TestFinal instance = new TestFinal();
private static int rightOperand = 1;
private int value = 0;
public TestFinal(){
this.value = this.leftOperand + this.rightOperand;
}
public int getValue(){
return this.value;
}
@Test
public void test(){
System.out.println(instance.getValue());
}
}
上面的输出结果是1,并不是2,原因是在实例化instance的时候,rightOperand还是0。 如果想让leftOperand和rightOperand在instace实例化前就先赋值,可以把rightOperand声明为fianl。 variable = value,这一步其实是分两步来执行的:1 声明变量variable并赋予默认值,2 将value赋值给variable.
skill 6:
如何在eclipse breakpoint中设置条件,参考 http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F
不过,群里一位大牛说他可以直接用className.equals("XXX"),可能是rt.jar在javac的时候-g参数的不同造成的差异。如果不能直接用className,那就用argN占位符。这也就是为什么有时在调试的时候为什么不能watch/inspect相应的参数值,因此可以watch arg0, arg1...这样的方式查看参数值。
分享到:
相关推荐
Java开发小技巧,这压缩包里面有8个文档,每一个文档是一个小技巧,其中也有包含一些异常的解决方法 包含文件: speak(通过接口调用方法) 记事本读书笔记.txt Java Swing控件属性归纳.txt 单字符的截取.txt 位图...
NULL 博文链接:https://1349469499.iteye.com/blog/2373727
一.用JDBC时的一些注意事项 1.多使用PreparedStatement代替Statement这样可以避免在拼接字符串的时候出现 "select * from emp where name = '"+name+"'"单引号过多的情况 2 sql语句过长的时候尽量避免使用sql="str1...
3.JAVA 开发小技巧 4.ANDROID 最佳实践 4.1 为性能设计: 4.2 为响应灵敏性设计 4.3 为无缝设计: 5. 多资源文件的引用 6. ANDROID 调试 LOGCAT 技巧 7. 用 ANDROID 运行最简单的C 程序 8. 开发技巧杂集 8.1 一些...
java的几个开发技巧
给广大应届毕业生应聘java开发岗位的一些小经验,希望大家能够通过该资源快速掌握面试技巧,尽早找到一份好工作。
连接池大小调优Java开发Java经验技巧共8页.pdf.zip
JAVA开发案例集锦,教你一些小技巧
java开发手册,java规范,技术规范,说明规范,学习技术规范,规范开发流程,开发小技巧,开发避坑
面向GC的Java编程Java开发Java经验技巧共7页.pdf.zip
浅析Java中的访问权限控制Java开发Java经验技巧共8页.pdf.zip
介绍Java中的内存泄漏Java开发Java经验技巧共3页.pdf.zip
给广大应届毕业生应聘java开发岗位的一些小经验,希望大家能够通过该资源快速掌握面试技巧,尽早找到一份好工作。
浅谈Java字符串Java开发Java经验技巧共11页.pdf.zip
在什么情况下Java比C快?Java开发Java经验技巧共2页.pdf.zip
什么是内存泄漏Java开发Java经验技巧共3页.pdf.zip
Java开发经验及技巧集.pdf
重构仔细查看,改进代码Java开发Java经验技巧共5页.pdf.zip
java代码大本营,各种开发中常用的小技巧
浅析Java中的final关键字Java开发Java经验技巧共6页.pdf.zip