12 2020 档案
摘要:背景 背景:在并发读写的时候,数据明明已经成功写入数据库之中,但是我们从缓存中读出的数据还是以前的旧数据,开始以为是浏览器缓存的问题,清了浏览器缓存之后还是没有。那可能是数据还没有同步到缓存中,按照代码逻辑这有点不太可能呀!虽然不可能,那我们还是等等看吧。等了一段时间之后,数据显示的还是旧数据。还是
阅读全文
摘要:背景:由于业务需求,用户想要统计每周,每月,几个月,一年之中的前N条数据。 根据已有的思路无非就是对全部的数据进行排序,然后取出前N条数据,可是这样的话按照目前最优的排序算法复杂度也在O(nlog(n)),而且如果把所有的数据都放到内存之中排序,数据量太大的话可能不仅仅是慢,还可能因为占用内存过大而
阅读全文
摘要:第一步,打出带有jar包的SpringBoot工程 首先配置pom.xml文件 <build> <finalName>demo</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId
阅读全文
摘要:打印SQL的执行时间,我们可以实现mybatis官方我们提供的接口org.apache.ibatis.plugin.Interceptor,我们可以拦截的类有多个Executor,StatementHandler,ParameterHandler等,第一次写拦截的时候选择了Executor,但是我发
阅读全文
摘要:ThreadPoolExecutor全部参数的构造函数 public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable
阅读全文
摘要:类注释原文:Basic thread blocking primitives for creating locks and other synchronization classes.意思就是LockSupport类用于创建锁和其他同步类的基本线程阻塞原语。 LockSupport是基于Unsafe
阅读全文
摘要:最近看到责任链模式的时候每增加一个处理类,就必须在责任链的实现类中手动增加到责任链中,具体代码基本就是list.add(new FilterImpl()),可以看到每次增加一个处理类,就必须添加一行上面的代码,不符合开闭原则(面向修改关闭,面向扩展开放)。于是想到了Java的SPI机制,可以实现插拔
阅读全文