java简单优化和编写规范,自己总结的。
2013-06-29 20:03
579 查看
1.永远不要比较两个浮点数是否相等。它是不安全的。详情google。
2.尽量使用StringBuffer代替String。
3.final类会提高很多效率。
4.try-catch 不应该用来控制程序逻辑,只能用于错误处理。
5.保证方法只有一个出口,即一个method只有一个return。
6.尽量用局部变量。
7.循环和try-catch同时使用时,不可以把try-catch放在for或者while的内部,应该放在循环的外部。
8.压缩需要传输的数据。必要的做加密。
9.耗时操作一定要使用线程。较多生命周期较短的线程应该使用线程池提高效率。
10.不要为了方便使用static,要理解static在面向对象语言中的意义。
11.提供工具方法时一定考虑传入参数的合法性判断。多线程一定要考虑同步。Synchronized不要放在循环里。
12.不要手动gc。
13.占用内存较大的对象如图片对象应该及时的置null,让jvm的gc回收他。
14.适当的使用若引用和软引用,虽然用到的不多。
15.方法尽量拆分成多个,功能细化,方便重用。
16.尽量使用基本数据类型代替对象。
17.乘除操纵可以考虑用位运算。
18.不要把数组声明为public static final ,数组的final并不能控制数组内容不变。
19.使用 int size = vector.size () for (int i = 0; i < size; i++)代替for (int i = 0; i < vector.size (); i++) ,后者会计算很多次vector.size()
20.适当给出vector的大小比如new Vector(100);
21.尽量不要使用数组的clone方法,可以用System.arraycopy来代替,也更灵活一些。用for循环复制的去面壁吧。
22.合理设计减少集合的遍历次数。
23.没有多线程不要使用Hashtable和Vector。应该使用HashMap和ArrayList.
24.适当使用缓存。
25. 避免或减少枚举,浮点数的使用。
26.int相乘考虑溢出情况。如算一天有多少微秒应该用long microsPerDay = 24L * 60 * 60 * 1000 * 1000;
27.二维数组比一位数组占用空间多很多。
欢迎讨论和指正。不定期更新。
2.尽量使用StringBuffer代替String。
3.final类会提高很多效率。
4.try-catch 不应该用来控制程序逻辑,只能用于错误处理。
5.保证方法只有一个出口,即一个method只有一个return。
6.尽量用局部变量。
7.循环和try-catch同时使用时,不可以把try-catch放在for或者while的内部,应该放在循环的外部。
8.压缩需要传输的数据。必要的做加密。
9.耗时操作一定要使用线程。较多生命周期较短的线程应该使用线程池提高效率。
10.不要为了方便使用static,要理解static在面向对象语言中的意义。
11.提供工具方法时一定考虑传入参数的合法性判断。多线程一定要考虑同步。Synchronized不要放在循环里。
12.不要手动gc。
13.占用内存较大的对象如图片对象应该及时的置null,让jvm的gc回收他。
14.适当的使用若引用和软引用,虽然用到的不多。
15.方法尽量拆分成多个,功能细化,方便重用。
16.尽量使用基本数据类型代替对象。
17.乘除操纵可以考虑用位运算。
18.不要把数组声明为public static final ,数组的final并不能控制数组内容不变。
19.使用 int size = vector.size () for (int i = 0; i < size; i++)代替for (int i = 0; i < vector.size (); i++) ,后者会计算很多次vector.size()
20.适当给出vector的大小比如new Vector(100);
21.尽量不要使用数组的clone方法,可以用System.arraycopy来代替,也更灵活一些。用for循环复制的去面壁吧。
22.合理设计减少集合的遍历次数。
23.没有多线程不要使用Hashtable和Vector。应该使用HashMap和ArrayList.
24.适当使用缓存。
25. 避免或减少枚举,浮点数的使用。
26.int相乘考虑溢出情况。如算一天有多少微秒应该用long microsPerDay = 24L * 60 * 60 * 1000 * 1000;
27.二维数组比一位数组占用空间多很多。
欢迎讨论和指正。不定期更新。
相关文章推荐
- java开发规范和优化总结
- 自己编写的一个java简单的窗口实现两点求园面积
- java应用命名规范(自己总结的哈)
- java编码规范及优化总结
- 问题1:java中没有实现这种“byte a = 0xB2 --> String b = “B2””转换的简单实现需要自己实现。 答:自己编写的转换函数,思路将byte的高低4位分开,分别转换为对应的字符然后合成返回的字符串。 java 代码 1.
- Java代码的规范(自己在公司实习的过程自己总结的代码规范,不断更新)
- java 程序编写规则(自己总结)
- 关于JAVA与ORACLE中SQL语句的优化和相应SQL编写规范
- 我的Java优化、规范总结
- java常用重构优化总结--自己亲身体验
- Android Java概念、关键词理解应用总结-----/*自己编写*/
- 编写高效的JAVA程序-编程规范 (开发篇 )
- 纪念自己编写的第一个java小游戏,飞翔小鸟
- 编写自己的jQuery插件简单实现代码
- 一步一步制作yaffs/yaffs2根文件系统(八)---总结及怎么样使系统自动启动自己编写的程序
- 自己用Java写的简单生产者与消费者模型
- 理解JAVA程序逻辑及面向对象编程思想简单总结(3)
- 理解JAVA程序逻辑及面向对象编程思想简单总结(14)
- java实现单项链表(复制,自己总结的在下一篇)
- Shell脚本简单总结及编写脚本中的小技巧