java
kiss_kings
这个作者很懒,什么都没留下…
展开
-
基于 AQS 实现读写锁
AQS -- AbstractQueuedSynchronizer 首先介绍一下 AbstractQueuedSynchronizer (抽象队列同步器): 队列同步器AbstractQueuedSynchronizer(以下简称同步器),是用来构建锁或者其他同步组件的基础框架;位于 java.util.concurrent.locks 包下; 它使用了一个信号量(state)表示同步状态,通过内置的FIFO队列来完成资源获取线程的排队工作; AbstractQueuedSynchronizer 使原创 2020-06-12 15:44:25 · 1357 阅读 · 2 评论 -
N个区间求交集
博主遇到一个问题,要对文章根据用户阅读记录进行去重,但用户阅读记录的文章ID最长可以达到300条,然后在数据库中使用NOT IN语句在查询时对文章进行去重,但是这样操作在记录比较长时,语句执行效率极其低下, 最终博主想到了一个优化策略,在redis中缓存用户阅读的文章ID区间(文章ID是递增方式存入数据库)取代之间对文章ID校验去重的方式进行去重,这时就涉及到对用...原创 2018-07-30 11:14:53 · 3446 阅读 · 0 评论 -
ij maven 搭建ssm框架
一直在使用ssm框架,之前有eclipse 手动拖jar包的方式搭建了一个ssm框架,现在学习使用idea 和 maven 所以决定搭建一个ssm 回忆一下ssm框架的具体结构。 选择新建项目: 输入项目名: GroupID是项目组织唯一的标识符,实际对应JAVA的包的结构,是main目录里java的目录结构。 ArtifactID就是项目的唯一的标识符,实际对应项目的名...原创 2018-09-12 12:03:55 · 683 阅读 · 0 评论