阅读源码收获和最近发现的小知识

收获一些以前没怎么用的方法
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.

循环调用静态方法比实例化对象后循环调用非静态方法快了很多很多
以为是有特殊的结果缓存类似的,让量变化之后
静态方法依然远胜于非静态方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值