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 方法用于文本分析 ...
随机推荐
- HDU4044 GeoDefense(有点不一样的树上背包)
题目大概说一棵n个结点的树,每个结点都可以安装某一规格的一个塔,塔有价格和能量两个属性.现在一个敌人从1点出发但不知道他会怎么走,如果他经过一个结点的塔那他就会被塔攻击失去塔能量的HP,如果HP小于等 ...
- The number of divisors(约数) about Humble Numbers[HDU1492]
The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- TYVJ P1036 统计数字 Label:坑!!!(用queue+map做出来的水)
背景 NOIP2007年提高组第一题 描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数 ...
- 定时任务之Spring与Quartz的整合(有修改)
转摘:http://www.javaweb1024.com/java/JavaWebzhongji/2015/04/13/548.html 在Spring中使用Quartz有两种方式实现:第一种是任务 ...
- 使用Expression做Linq的參數化排序
Linq非常的好用,減少大量的資料庫操作手序,使用具名的類別,減少了在程式中寫SQL寫錯字的可能性,問題來了,如果我想用QueryString中的參數,作為排序的依據,但是因為是具名的類別,不能指定字 ...
- [转].net自定义验证控件CustomValidator的使用
本文转自:http://tech.cncms.com/web/aspnet/96310.html CustomValidator验证控件,可以自定义验证函数,实现其它几个验证控件不能实现的验证规则,最 ...
- 典型Event ID
Sr no Event ID 2003 Server Event ID 2008 Server Event Type 1 528 4624 Local User logon 2 6008 6008 U ...
- 【iCore、iCore2、iBoard例程】【异步FIFO跨时钟域通信(通过ARM 读FPGA FIFO)】
欢迎访问电子工程师学堂,以便了解更多内容:http://www.eeschool.org 一.本实验基于iCore2 完成,通过简单改动,即可用在 iCore 核心板.iBoard 电子学堂上. iC ...
- CSS3动画(动画已丢,看原文)
原文:http://ued.1905.com:8880/sample/css3/base/test.html CSS3动画 简要展示了CSS3常用动画效果,以及所使用代码. bounce 复制 展开代 ...
- 如何设置jquery的ajax方法为同步
jax请求默认的都是异步的如果想同步 async设置为false就可以(默认是true) var html = $.ajax({ url: "some.php", async: ...