- 博客(7)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 分布式锁:红锁redLock和联锁multiLock源码分析
环境Java11前言一开始只是想研究红锁源码,但是发现红锁源码是基于联锁源码的,所以联锁的情况一起分析了下;Redis获取分布式锁,其实就是向N个Redis实例中使用SETNX来对该resource设置键值。为了方便分析代码,假设集群里三个Redis实例;起始调用代码:long leaseTime = 3L;lock.lock(leaseTime, TimeUnit.SECONDS);RedissonRedLock redLock = new RedissonRedLock(lock);
2020-11-18 17:55:47 5113 1
原创 MySQL学习笔记:基础模型三 索引
环境MacBook Pro序言MySQL 技术内幕 InnoDB 存储引擎 第二版Q : B+索引能通过给定的键值找到具体行吗?A : 不能,B+树索引能找到的只是被查找数据行所在页。然后数据库通过把页读进内存,再在内存中查找,最后得到要查找的数据。Q:基于上面的问题,那么在内存中是如何进行查找的呢?A:我们知道每页Page Directory中的槽是按照主键顺序存放的,对于某一条具体记录的查询是通过对Page Directory进行二分查找找到的。B+树的演化而来二叉查找树 —&g
2020-11-23 19:46:39 462
原创 Redis学习笔记: 数据库的实现和持久化
环境window10前言《Redis 设计与实现》读书笔记;服务器结构Redis服务器默认会创建16个数据库,编号从0开始;服务器结构如下:struct redisServer{ ... // 一个数组,保存着服务器中的所有数据库 redisDb *db; // 服务器数据库的数量 int dbnum; ...}数据库结构typedef struct redisDb{ ... // 数据库键空间,保存着数据库中的所有键值对 dict *dict; ...} red
2020-11-22 17:14:38 153
原创 分布式锁的代码应用
环境Java 11前言笔记:记录代码上如何使用分布式锁;Lock和TryLock的区别1: lock拿不到锁会一直等待。tryLock是去尝试,拿不到就返回false,拿到返回true。2: tryLock是可以被打断的,被中断 的,lock是不可以。代码public static final String SEND_COUPON_STRATEGY_LOCK_PREFIX = "send_coupon_strategy_";String key = SEND_COUPON_STRATE
2020-11-18 10:45:23 238
原创 MySQL学习笔记:基础模型二 分区
环境MacBook Pro序言MySQL 技术内幕 InnoDB 存储引擎 第二版分区表MySQL只支持局部分区索引,一个分区中即存放了数据又存放了索引。全局分区:数据存放在各个分区中,但是所有的数据的索引放在一个对象中。mysql目前只支持局部分区启用分区后,表不再由一个ibd文件组成,而是各个分区ibd文件组成;如:t#P#p0.ibd, t#P#p1.ibd 类似这样的格式;分区类型支持 range,list,hash, linear hash, key, columns 类
2020-11-13 20:03:04 217
原创 VS Code 个人配置
环境window10vs code :1.51下载官网下载:https://code.visualstudio.com/傻瓜式安装后,开始配置:插件汉化选择左侧最下面那个图标,在输入框里输入chinese,如下图,点击Install即可;要是出现we cannot connect to the extensions marketplace at this time, please ...这样的错误提示,可能是网络卡的缘故,我等了一会就好了;auto rename tag自动重命名
2020-11-11 23:00:01 736
原创 Redis学习笔记:字典rehash底层实现与Java区别
环境Java:11前言今天在看Redis的字典rehash时,发现其与Java不一样;并由此产生了如下思考:① Redis既然采用的是渐进式rehash,那么Java的HashMap采用的是什么?② 集中式重新rehash是非常耗性能的,hashMap中rehash的优化点在哪里?扩容以前下面这段代码我没有重点看,只知道这是在扩容;今天重点看了下,不过红黑树没看:final Node<K,V>[] resize() { Node<K,V>[] oldTab
2020-11-01 18:33:25 788 5
scalable-io-in-java-中文.pdf
2019-07-04
SSH整合时出现空指针问题
2014-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人