`

java那些事

 
阅读更多
JAVA编程中尽量要做到的一些地方
1.尽量使用StringBuilder和StringBuffer进行字符串连接

2.单线程应尽量使用HashMap,ArrayList HashTable, vector等使用了同步机制,降低了性能.

3.尽量减少对变量的重复计算
Eg: for(int i = 0; i<list.size(); i++) 应该改为: for(int i = 0; len = list.size(); i<len; i++)

4.尽量使用移位来代替"a/b, a*b"的操作
"/"是一个代价很高的操作.使用移位的操作将会更快和更有效
Eg: int num =a/4; int num = a/8;
       int num =a*4; int num = a*8;
应该改为:int num = a>>2; int num = a>>3;
                int num = a<<2; int num = a<<3;

5.尽量确定StringBuffer的容器
StringBuffer的构造器会创建一个默认大小(通常是16)的字符数组,在使用中,如果超出这个大小,就会重新分配内存,创建一个更大的数组,
并将原先的数组复制过来,在丢弃旧的数组.在大多数情况下,你可以在创建StringBuffer的时候指定大小,这样就避免了哎容量不够的时候自动增长,以提高性能.

6.尽量避免使用二维数组.

7.尽量避免使用split
除非是必须的,否则应该避免使用Split, Split由于支持正则表达式,所以效率比较低,如果是频繁的几十,百万级的调用会消耗大量资源,如果确实需要频繁的调用Split,
可以考虑使用aoache的StringUtils.split(string,char),

8.ArrayList & LinkedList
一个线性表,一个是链表,
一句话,随机查询尽量使用ArrayList,ArrayList优于LinkedList,LinkedList还要移动指针.
              添加删除的操作LinkedList优于ArrayList,ArrayList还要移动数据,(理论性分析)

9.尽量使用System.arraycopy()代替通过来循环复制数组
System.arraycopy()要比通过循环来复制数组快的多

10.数字转换成字符串
String.valueOf(set.size())

11.捕获所有的异常
catch(NoResultException)

12.忽略所有异常
catch(Exception e) {
	throw new MyRuntimeException(" Could not do stuff because: " +e.getMessage, e);}

13.异常传播
try{} catch(ParseException e) {
				throw new RuntimeException(e.getMessage(), e)
			}


14.捕获不可能出现的异常
catch(SomeException e) {    
			throw new IllegalStateException(e.getMessage(), e); 
			}

Code Review(代码评审)
  • 1.测试代码不需要提交
  • 2.特殊字符都提取为常量
  • 3.只使用for循环能满足需求
  • 4.参数使用前需要判断参数是否为空的情况
  • 5.要求平均每5行代码有一行注释,注释只要写到站在阅读者的角度能看懂就行
  • 6.非空判断使用StringUtil,或者非空的值放在equals前面
  • 7.直接使用TopReviewerDO
  • 8.变量取有意义的名字,去掉不需要的引用
  • 9.如果在if里用了return,则不需要使用else
  • 10.提高性能,只进行一次SQL查询
  • 11.其高代码性能.实例化对象之前,先判断数据是否存在
  • 12.增加方法和类的注释
  • 13.可能空指针
  • 14.空指针错误
  • 15.重构一个方法
0
0
分享到:
评论

相关推荐

    java那些事儿chm

    java那些事儿chm java那些事儿chm java那些事儿chm

    java那些事儿chm版本

    Java编程那些事儿系列文章(全集) 整理好的chm 作者:陈跃峰 来源:http://blog.csdn.net/mailbomb

    java那些事儿

    该资源对于java新手的学习是一个良好的学习条件 有助于对java的进一步了解

    java编程那些事儿-陈跃峰71-102

    java编程那些事儿-陈跃峰 不经意发现陈前辈的这本书,在网上没有找到归档的,于是,我自作多情地整理了一下,这样同志们在线下也能看这本书了。共分了三部分,这是第三部分,还有两部分,定要注意

    Java那些事儿之(一)读取property配置文件

    NULL 博文链接:https://sunnyboysac.iteye.com/blog/1697844

    JAVA编程那些事那些事

    java编程那些事 1.1. 程序设计是什么? 程序设计,俗称编程,是一个比较专业的概念。初学者,甚至一部分开发人员,都不能很简单的解释这个概念,所以使初学者觉得程序设计是一件很有科技含量,或者是很高深的学科,...

    Java编程那些事儿

    Java编程那些事儿,可以帮助开发人员在闲余的时间看看。

    java程序员的那些事儿

    java程序员的那些事儿

    Java编程那些事儿[完整版]PDF(加密版)

    有CSDN的MVB 陈跃峰老师摘写,适合JAVA初学者的一本书! 由本人收集整理成完成版转换成PDF格式上传CSDN! 作者:陈跃峰老师 收集整理:云低夕落人归

    java编程那些事

    java编程那些事-摘自陈跃峰的博客:http://blog.csdn.net/Mailbomb/

    JAVA编程那些事儿

    JAVA编程那些事儿一书的完整版本,跟作者跟新同步,整理打包整合完成.

    java编程那些事 pdf 文件

    java编程那些事 适合初学者~~好东西哦~~初学的同志们~~看看吧~~pdf文件

    java编程那些事儿

    主要是用通俗的语言,解释清楚以下几个内容: 1、 程序设计是什么? 2、 Java语言相关基础语法及应用 3、 如何建立基础的程序逻辑以及其它编程和Java语言的相关问题

    Java编程那些事儿.pdf

    本书以通俗易懂的语言和代码示例介绍Java语言编程的各种知识,是一本指导初学者进行自学编程,并通过相关章节附带的练习融会贯通相关技术的入门书籍。本书按照技术学习的顺序,依次介绍了计算机基础知识、建立Java...

    陈跃峰《Java编程那些事儿》

    陈跃峰《Java编程那些事儿》,来自他的个人博客,不错的Java教程

    java那点事

    Java面试题

    java程序员上班那些事儿.pdf

    java程序员上班那些事儿.pdfjava程序员上班那些事儿.pdf

    Java程序员上班那些事儿完整版

    详细地介绍了java程序员刚上班的种种事情 以及很多面试的技巧 不容错过啊

Global site tag (gtag.js) - Google Analytics