首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
进击的程序猿8号
掘友等级
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
队列同步器(AQS)的实现原理
如下图所示是队列同步器的基本结构,通过一个int类型的state对象来表示同步状态,对锁的竞争就是通过修改这个同步状态和对这个状态的值来进行判断实现,使用一个FIFO双向队列来管理竞争同步状态的线程,把这些线程封装成一个队列节点加入到队列中。 以上是这个方法的定义,直接抛出一个…
Java锁升级
升级之后的锁为了减少加锁和释放锁带来的性能消耗引入了偏向锁和轻量级锁。 锁一共有4中状态,无锁状态,偏向锁状态,轻量级锁状态,重量级锁状态。锁的状态会随着竞争的升级而升级,但是锁不能够降级。 经过研究发现,大多数情况下锁不仅不存在竞争,并且总是由同一个线程多次获得,为了让锁获取…
设计模式基本原则
开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码,实现一个热插拔的效果。所以一句话概括就是:为了使程序的扩展性好,易于维护和升级。想要达到这样的效果,我们需要使用接口和抽象类等,后面的具体设计中我们会提到这点。 不要存在多…
MySQL索引失效场景
我们来看这个SQL,or的左右两边的字段只有first_name是有索引的,gender没有索引,这个时候查看执行计划。 我们发现使用的是全表扫描。 然后我们再换一下SQL,or的左右两边的字段都使用索引字段。 结论:使用or连接的两个字段,如果两个字段都是索引字段索引才会生效…
怎么在Redis集群中使用JedisCluster操作单个Redis实例
如果你的某一个Redis操作必须要使用事务或者脚本保证其原子性或者需要进行多个key的操作的时候,但是公司部署的又是Redis集群。这种情况下就必须使用单实例的Redis来操作了。 介绍这种方法前先介绍一下怎么把多个不同的key写到同一个Redis实例中。下面上官网原文: 计算…
JedisCluster源码阅读
在JedisCluster客户端中,JedisClusterCommand是一个非常重要的类,采用模板方法设计,高度封装了操作Redis集群的操作。对于集群中各种存储操作,提供了一个抽象execute方法。 JedisCluster各种具体操作Redis集群方法,只需要通过匿名…
Redis分布式ID
1. 自增流水号的的生成 2. 数据库分表之后ID的生成 3. 日切自增序列号 ...... 1. ID生成的持久化,如果redis宕机了之后怎么进行恢复 2. 如何保证KEY能够分不到每一台机器 可以使用Redis集群来获取更高的吞吐量,容错单点故障,高并发,假如一个集群中有…
JAVA的抽象类和接口
只是一个占位作用,需要由其子类去实现,抽象类非常适合于模板方法模式。 首先接口不是类,接口是对类的一组需求的描述,是一种对行为的抽象,要求实现类遵守接口定义的规范来进行描述。 接口中可以增加写default方法,default方法是接口定义的方法默认的实现,实现类如果实现了这个…
个人成就
文章被点赞
15
文章被阅读
14,595
掘力值
268
关注了
30
关注者
2
收藏集
16
关注标签
32
加入于
2018-05-26