摘要:
9012年了,请放弃(a!=null && a.getFiled()!=null)或者封装后写成(!ObejectUtil.isEmpty(a) && !ObjectUtil.isEmpty(a.getFiled()))的写法。快来交接下Optional吧。 Optinal的用法一抓一大片,此处不再 阅读全文
摘要:
我们常见的几个索引失效场景,大致有以下几种: 1、String型数据使用int直接查 2、like ’%a‘的情况 3、组合索引a,b单独使用b 4、命中数据过多到时扫描全表 5、索引列中有计算或者使用了函数 6、a='x' or b='y',此时a有索引但是b无索引 最近遇到的应该属于4中的一种特 阅读全文
摘要:
InheritableThreadLocal虽然解决了线程异步,但是只能在创建线程时才能生效,但如果我们使用线程池等容器,InheritableThreadLocal就失效了,为此,我们引入阿里开源的TransmittableThreadLocal 阅读全文
摘要:
ThreadLocal大发什么都好,但如果我们要做单独启线程做异步操作,ThreadLocal是无法从父线程传递到子线程的,此时,jdk中自带的InheritableThreadLocal露面了。 阅读全文
摘要:
ThreaLocal大法广泛应用于各大开源框架,大家最熟悉的spring中就有大量运用。相比synchonzied机制的时间换空间,ThreaLocal则倾向于用空间换时间。阅读jdk源码可知,threadLocal实现各线程副本变量的方式,是jdk在每个Thread类中,都引入了一个threadL 阅读全文