一、List集合的坑:
1.1 Arrays.asList()坑 不能直接使用Arrays.asList()转换基本类型的数组,这样会将整体数组作为对象,转为具有一个元素的集合,应使用stream流做限制,或者新创建的java.util的集合接
1.2 Arrays.asList()坑 数组转集合后,默认使用Arrays的内部ArrayList,继承自AbstractList,不支持集合的更新操作,会抛异常
2 List.subList()坑,subList()返回的集合是原集合的视图,如果做更新操作,会和原集合互相影响,可使用stream()截取
二、文件操作的坑
1.FileReader会使用机器默认的字符集,不同的机器间容易引起乱码,尽量使用FileInputStream,BufferedInputStream读写,或者更高效的FileChannel进行流转发
2.读写文件时,尽量使用缓存,按行读取,或者多个字节读取
3.File类提供的文件操作,并非原子性操作
三、ThreadLocal的坑
tomcat会使线程池重用线程,使用ThreadLocal后,应及时清理