ThreadPoolExecutor的invokeAny方法会返回第一个完成的任务的结果,与之对应的是invo…
Java学习
认识ExecutorCompletionService返回最快的结果
场景: 我们用多线程来做一次搜索,一共有5个搜索引擎可用,我们运行多线程程序,哪个搜索引擎最先返回搜索结果就用…
Java里的Join的执行顺序问题
最近在看Java多线程的同步工具,正好看到了CountDownLatch和Join的区别,看到main线程里j…
spring boot cache踩到的坑
这周在做线上查询优化的时候,用到了spring boot cache,结果就踩到了坑里,追查了好久最终发现了问…
Hessian的使用
hessian主要是用来做序列化和反序列化的,序列化后的对象可以存储(文件或者数据库中),需要使用的时候,再将…
通过文件覆盖类里面的属性–一种配置文件的另类实现方式
背景: 假设有这么一个场景,你写的jar包或者源代码服务提供给别人使用,你的默认配置是写在类里面的,如何通过一…
如何通过spring-boot-starter-redis使用aliyun的Redis
我有一个项目,使用的是spring boot构建,整个系统使用spring security构建了一个登录系统…
Mybatis获取最近插入的主键
通常情况下,我们插入一条记录的mapper如下: @Insert(“insert into experimen…
一次nginx导致的乌龙跨域事件
最近搭建了一个独立应用,使用相同的域名去访问的时候居然报出了”Invalid CORS request”, 而…
spring boot mybatis的动态SQL
动态sql的用途 如果你的sql语句需要一些逻辑。例如 if (a) { order by status} e…