Loading

12 2020 档案

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