左连接,则右边会出现null;内连接则不会出现null
group_concat(a.name)将分组后的结果拼接为数据
Hashtable是线程安全的;
InputStream inputStream=QrCodeUtil.class.getResourceAsStream(logoPath);
到insertImage到createImage到encodeImage
MyTest.class.getResourceAsStream("name") 从当前类下加载资源
public static <T> void sort(List<T> list, Comparator<? super T> c) {
list.sort(c);
}
Map类似于一个对象,Map.Entry则为一个个的成员属性,下面是排序Map的key;
而map的写入顺序是按照hash编码的,key的先后顺序是不确定的:
Comparator可以比较HashMap
Collections.sort(infoIds, new Comparator<Map.Entry<String, String>>() {
@Override
public int compare(Map.Entry<String, String> arg0, Map.Entry<String, String> arg1) {
return (arg0.getKey()).compareTo(arg1.getKey());
}
});
If choose when
Long.toString()直接转为字符串
LinkedHashMap
@Autowire在需要的时候注入;如果我使用static修饰,则不用每次再次创建了,则可以优化程序创建对象,需要注解@postconstruct后构造器
json对象转为指定的对象
List<PolicyPO> policyPOList = JSON.toJavaObject(data.getJSONArray("policyPOList"),List.class);//没数据 ;获取list数据
CardPO cardPO=JSON.toJavaObject(data.getJSONObject("cardInfo"),CardPO.class);//后面有数据 获取对象数据
@Async (异步执行,相当于在代码==处打开一个线程)
接收返回值
Future<Object> methodName()
return new AsyncResult<Object>(Object);
If(Future.isDone();){ }
@cron 定时任务,隔时间段执行
#0 0/30 9-17 * * ? 朝九点晚五点内每半小时执行一次 #0 0/5 14,18 * * ? 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发