1、DecimalFormat对数据格式化的舍入问题
四舍五入踩过的坑四舍五入
2、批量插入
批量插入 ,若你想一个标签里执行多个语句需要配置参数allowMultiQueries=true
3、多线程
AtomicInteger是原子操作可保证int线程安全
4、CAS原理
一文彻底搞懂CAS实现原理 - 知乎 (zhihu.com)
5、Object 数组转换为int[]数据
使用Arrays.copyofRange()进行拷贝
Integer[] a =new Integer[6]
Object[] array =list.toArray();
a=Arrays.copyOfRange(array,0,5,Integer[].class)
6、Executors创建的4种线程池的使用
7、匿名内部类可以直接实现Runnable 接口?
浅谈new Runnable()_平凡之路-CSDN博客_new runnable
8、小表驱动大表
MySQL高级知识(十六)——小表驱动大表 - developer_chan - 博客园 (cnblogs.com)
9、Object[]转int[]数组
工作中经常会遇到一些数组toArray之后转为Object数组,但需要的是一个int[]数组,可进行如下转换
使用Arrays.copyofRange()进行拷贝, 主要用于对一个已有的数组进行截取复制,复制出一个左闭右开区间的数组
Integer[] a = new Integer[6];
Object[] array = set.toArray(); //这里会生成一个Object[]
a = Arrays.copyOfRange(array, 0, 5,Integer[].class);
int[] arr = { 1, 2, 3, 4, 5, 6 };
System.out.println(Arrays.toString(arr));
// 复制整个数组
int[] allArr = Arrays.copyOfRange(arr, 0, 6);
String allString = Arrays.toString(allArr);
// 复制部分数组
int[] partArr = Arrays.copyOfRange(arr, 1, 4);
String partString = Arrays.toString(partArr);
System.out.println(allString);
System.out.println(partString);
输出结果:
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6]
[2, 3, 4]
10、集合如何取交集、并集,差集
交集:使用retainAll() 并集使用:addAll() 差集使用removeAll()
多个集合取交集:
Set resultSet =setlist.get(0);//获取第一个集合,由此进行取交集
setlist.forEach(resultSet::retainAll);
11、Mybatis 返回一个map集合
通过dao层指定map的key值,在mapper文件的resulttype是对应的value值类型,而不是Map