修改Netty 中EventLoopGroup的线程名字前缀 此方案针对 netty 4 , 阅读Netty 源码的过程中涉及到多种线程跳转,2-1 3-1 4-1 类似的命名头晕眼花,直接改了成方便辨认的名字吧!舒服~ 继续看源码咯~
RR 隔离级别下删除不存在数据导致 【死锁】 suprenum 表示超过索引中的最大值,也就是说 两个事务的间隙锁 范围都是 (-∞, +∞),左边 执行insert 的事务正在等待右边释放锁,这时候如果右边事务也执行insert 就死锁了……如果删除索引的数据不存在,会出现一个间隙锁,区间(左边最近第一个值, 右边最近第一个值), 间隙锁之间是不会冲突的,只有往间隙中插入数据的操作,才会被阻塞。(2)防止已存在的数据,更新成间隙内的数据(例如防止numer=3的记录通过update变成number=5)3. 查看INNODB_LOCKS 表。
Netty是如何把Channel 从Boss线程传到Work线程的? 好,继续回到 register 流程,io.netty.channel.SingleThreadEventLoop#register(io.netty.channel.Channel)一路向后,进入 io.netty.channel.MultithreadEventLoopGroup#register(io.netty.channel.Channel)继续查看io.netty.channel.nio.AbstractNioMessageChannel.NioMessageUnsafe#read。
Netty3和Netty 4 线程模型的区别 Netty 3 和 4 比较起来,有两点印象很深刻: 一个是 4 没有了各种event 对象的创建,GC更友好。 另一个是 4的Handler 链总是IO 线程来处理,而3 是哪种线程发起了事件,哪种线程去处理Handler 链。
Java抓取SVN 信息 1. 引POM <!-- https://mvnrepository.com/artifact/org.tmatesoft.svnkit/svnkit --> <dependency> <groupId>org.tmatesoft.svnkit</groupId> <artifactId>svnkit</artifactId> <ve
Java 获取GitLab 项目分支信息 使用GitLab Api,因为不想通过本地clone仓库的方式获取项目分支信息gitlab 操作好,开始按图操作然后会出现一个key , 复制下来,放到自己喜欢的文件里好好保存……Java 部分pom文件 <!-- https://mvnrepository.com/artifact/org.gitlab/java-gitlab-api --> <dependency> <groupId>org.gitlab<
使用TortoiseGit 进行cherry pick 操作 问题:将release 版本中修复的bug 合并到主干(之后用master表示主干 )第一步、 切换分支到 master分支第二步、打开 提交日志记录第三步、找到release 分支第四步、双击进去,可以看到release 分支上提交的历史记录第五步、在目标记录上 右键-> 摘取第六步、点击下面的继续按钮...
限制所有的input 为number 类型的输入值 小小tips var inputs = $("input"); for (var curInput = 0; curInput < inputs.length; curInput++) { var curObj = inputs[curInput]; if ("number" === curObj.type) { // input 赋最小值 curObj.min = 0; } }...
Mysql char 类型为null 的话会占表空间吗 Mysql char 类型为null 的话会占表空间吗?有可能,当行记录格式为Redundant 的时候 char 即使为null, 也会用0x00 填充当然Redundant 已经是Mysql 5.0 之前的行记录存储方式了。compact 记录格式下是不会占用空间的。突然有感,必须写点……...