首页
首页
沸点
课程
直播
活动
竞赛
商城
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
凌风郎少
掘友等级
Java工程师
博客地址:http://www.jianshu.com/u/1d96ba4c1912
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
赞
0
文章 0
沸点 0
赞
0
返回
|
搜索文章
文章
热门
最新
redis源码分析之有序集SortedSet
redis中的有序集,允许用户使用指定值对放进去的元素进行排序,并且基于该已排序的集合提供了一系列丰富的操作集合的API。 在有序集中,用于排序的值叫做score,实际存储的值叫做member。 由于有序集中提供的API较多,这里只举了几个常见的,具体可以参考redis文档。 …
redis源码分析之事务Transaction(上)
这篇文章我们重点分析一下redis事务命令中的两个辅助命令:watch跟unwatch。 依然从server.c文件的命令表中找到相应的命令以及它们对应的处理函数。 watch,用于客户端关注某个key,当这个key的值被修改时,整个事务就会执行失败(注:该命令需要在事务开启前…
redis源码分析之事务Transaction(下)
在redis中,事务并不具有ACID的概念,换句话说,redis中的事务仅仅是保证一系列的命令按顺序一个一个执行,如果中间失败了,并不会进行回滚操作。 关于事务的几个命令所对应的函数都放在multi.c文件中。 上面是把命令加入事务命令数组的中的逻辑,由于在执行事务过程中也会执…
redis源码分析之发布订阅(pub/sub)
其中发布者跟订阅者之间通过channel进行交互,channel分为两种模式。 redis中为发布订阅(pub/sub)功能提供了六个命令,分为两种模式。 由subscribe,unsubscribe组成,它们是负责订阅有确定名称的channel,例如subscribe tes…
Log4j各级别日志重复打印的问题
上面这个log4j.properties配置文件是个非常常规的文件,网上大多数讲解Log4j配置信息的文章也都是基于这样一个模板展开的。 /home/error.log文件中只会打印error一行日志。 上面的结果显然不是我们想要的,因为这样的话相当于info日志中含有所有的日…
Java调度线程池ScheduledThreadPoolExecutor源码分析
该类主要还是基于ThreadPoolExecutor类进行二次开发,所以对Java线程池执行过程还不了解的同学建议先看看我之前的文章。 与ThreadPoolExecutor不同,向ScheduledThreadPoolExecutor中提交任务的时候,任务被包装成Schedu…
深入浅出AQS之组件概览
前面三篇文章如果之前没有AQS基础的话看起来会比较吃力,这篇文章说明一下AQS的基础知识,方便快速了解AQS。 首先AQS的基本执行过程就是尝试获取锁,成功则返回,如果失败就进入同步队列进行锁资源的等待。基于这个流程可以看出队列跟队列中的节点应该是两个重点。 prev,next…
深入浅出AQS之条件队列
这篇文章会涉及到AQS中独占锁跟共享锁的一些知识,如果你已经对这两块内容很了解了,那就直接往下看。否则在读本文之前还是建议读者先去看看我之前写的两篇文章温习一下。 上面的代码片段截取自LinkedBlockingQueue,是Java常用的阻塞队列之一。 从上面的代码可以看出,…
深入浅出AQS之共享锁模式
搞清楚AQS独占锁的实现原理之后,再看共享锁的实现原理就会轻松很多。两种锁模式之间很多通用的地方本文只会简单说明一下,就不在赘述了,具体细节可以参考我的上篇文章深入浅出AQS之独占锁模式 当线程调用acquireShared()申请获取锁资源时,如果成功,则进入临界区。 当获取…
深入浅出AQS之独占锁模式
AbstractQueuedSynchronizer(以下简称AQS)作为java.util.concurrent包的基础,它提供了一套完整的同步编程框架,开发人员只需要实现其中几个简单的方法就能自由的使用诸如独占,共享,条件队列等多种同步模式。我们常用的比如Reentrant…
下一页
个人成就
文章被点赞
162
文章被阅读
15,612
掘力值
625
关注了
0
关注者
38
收藏集
0
关注标签
9
加入于
2017-09-20