1、Clone方式克隆对象比new快,但是只能浅拷贝,所以需要继承接口而且重写clone方法(一般用于重量级对象)
2、能少用if语句,尽量少用,可用条件运算符?:
3、对效率高的场合或者简单场合用位运算,比如乘除2
4、返回值为集合或数组尽量不要返回null,而是返回空数组和空集合,size=0
5、查找数组元素,可以用Arrays.asList(T[] array).contains(T obj)
6、对于链表实现的,尽量少用随机访问,即通过索引Index访问,这时候体现instanceof RandomAccess作用了
8、能用字符就不用字符串
9、尽量不要在循环中使用同步块或同步方法
10、尽量使用native函数
11、IO中操作中使用Buffer
不用临时变量交换两个变量的值方法:
1)a,b
//需要考虑不会值越界,精度
a = a + b ;
b = a - b ;
a = a - b ;
2)a,b
//不能完成浮点数交换
a = a^b ;
b = a^b ;
a = a^b ;
3)a,b
//需要考虑不会值越界,精度
a = a * b
b = a / b
2、能少用if语句,尽量少用,可用条件运算符?:
3、对效率高的场合或者简单场合用位运算,比如乘除2
4、返回值为集合或数组尽量不要返回null,而是返回空数组和空集合,size=0
5、查找数组元素,可以用Arrays.asList(T[] array).contains(T obj)
6、对于链表实现的,尽量少用随机访问,即通过索引Index访问,这时候体现instanceof RandomAccess作用了
8、能用字符就不用字符串
9、尽量不要在循环中使用同步块或同步方法
10、尽量使用native函数
11、IO中操作中使用Buffer
不用临时变量交换两个变量的值方法:
1)a,b
//需要考虑不会值越界,精度
a = a + b ;
b = a - b ;
a = a - b ;
2)a,b
//不能完成浮点数交换
a = a^b ;
b = a^b ;
a = a^b ;
3)a,b
//需要考虑不会值越界,精度
a = a * b
b = a / b
a = a / b