收获一些以前没怎么用的方法
1.
List<String> ret = new ArrayList();
ret.add("1");
ret.add("2");
ret.add("3");
ret.add("4");
ret.add("5");
String[] s = new String[10];
s[9] = "time";
String[] strings = ret.toArray(s);
System.out.println(s.equals(strings));
//一般来说需要传个数组对象才能实现转换List转换为数组
当list长度大于数组长度的时候,是深拷贝
当list长度小于数组长度,是浅拷贝
2.
String s = "我是";
s.getBytes("utf8")
s.getBytes("UTF8")
s.getBytes("utf-8")
s.getBytes("UTF-8")
其实都是一样的指的utf-8
效果没有差异,建议统一
3.
if(logger.isInfoEnabled){
logger.info("")
}
当日志级别高于info的时候,其实可以避免字符串的拼接。多了一个if,而if的代价仅为输出日志的百分之1
4.
一直没注意的,a%(2的n次方) 其实就等于 a&(2的n次方-1)
对于
int m = n*2^x
n < 2^x
那么 m|n = m + n
二进制操作的
5.
循环调用静态方法比实例化对象后循环调用非静态方法快了很多很多
以为是有特殊的结果缓存类似的,让量变化之后
静态方法依然远胜于非静态方法