- 博客(14)
- 收藏
- 关注
原创 关于对next-key lock左开右闭的理解
next-key lock的“左开右闭”是指“扫描索引的过程中,先对叶子和前指针上锁(next-key lock),然后看情况将next-key lock退化”,而不是“扫描结束后,索引的锁是左开右闭的”结合上面三步,我们得到了的锁有[5],(5,7],(7,10),合起来是[5,10)的左闭右开区间。我认为和索引叶子是递增排序有关。我的理解:行锁是在索引叶子上锁,gap锁是前指针上锁,next-key lock是叶子和叶子的前指针上锁。假设索引叶子是这样的: -∞,1,5,7,10,+∞。
2023-12-13 16:23:00
180
原创 maven+springMVC整合swagger,带注解扫描,非springBoot
是在一个在用的项目中进行整合swagger,使用maven+springMVC,springMVC使用web.xml和spring-mvc.xml文件进行配置,带注解扫描,非springBoot项目
2021-01-08 14:03:03
1397
原创 Hibernate源码节选(三) Session的flush
关于ActionQueue在hibernate中,Action可以理解为对数据库的操作。实体或集合的增、删、改都有对应的Action。ActionQueue会对这些Action进行分类保存。public class ActionQueue { private ExecutableList<AbstractEntityInsertAction> insertions; ...
2020-04-10 17:50:35
529
翻译 Hibernate HHH000179警告和narrow proxy
原文:https://marcin-chwedczuk.github.io/HHH000179-narrowing-proxy-to-class-this-operation-breaks-equality译者:jakekong本文将会解释为何hibernate会出现HHH000179警告,且无视这个警告会产生什么bug。为了理解”窄化代理“(Narrowing proxy),首先要理解...
2020-04-06 15:07:05
1159
原创 Hibernate源码节选(二)save、update与saveOrUpdate
本文基于Hibernate 5.2Session的save、update、saveOrUpdateSession#save熟悉的操作:创建一个事件,找出对save事件感兴趣的监听器,把事件交给它们public Serializable save(String entityName, Object object) throws HibernateException { retu...
2020-04-06 10:41:14
801
原创 Hibernate源码节选(一) Session的get与load
本文基于Hibernate 5.2LoadEventListener.LoadType类众所周知Session中不同的查询方式在细节上有所区别,如Session.get()查找缓存和数据库,而Session.load()则查找缓存,如果缓存没有该实体则返回一个代理,在使用实体其他字段时才查找数据库。LoadType类定义了这些区别。public interface LoadEventLis...
2020-04-02 21:02:49
351
原创 Quartz源码节选(四)启动Scheduler
参考资料Quartz文档译文Quartz官方文档Quartz源码解析第一篇配合第二篇阅读,讲解一些基本概念。若已了解可跳过。推荐阅读第三篇,因为本文是基于第三篇的笔记。DEMO一个DEMO,每3秒输出helloworldpublic class MyJob implements Job { @Override public void execute(JobExe...
2020-03-16 16:23:55
639
原创 Quartz源码节选(三)添加Job和Trigger到Scheduler中
参考资料Quartz文档译文Quartz官方文档Quartz源码解析第一篇配合第二篇阅读,讲解一些基本概念。若已了解可跳过。推荐阅读第三篇,因为本文是基于第三篇的笔记。DEMO一个DEMO,每3秒输出helloworldpublic class MyJob implements Job { @Override public void execute(JobExe...
2020-03-16 16:23:38
494
原创 Quartz源码节选(二)Scheduler的创建
参考资料Quartz文档译文Quartz官方文档Quartz源码解析第一篇配合第二篇阅读,讲解一些基本概念。若已了解可跳过。推荐阅读第三篇,因为本文是基于第三篇的笔记。DEMO一个DEMO,每3秒输出helloworldpublic class MyJob implements Job { @Override public void execute(JobExe...
2020-03-16 16:23:25
409
原创 Quartz源码节选(一)JobDetail与Trigger的创建
参考资料Quartz文档译文Quartz官方文档Quartz源码解析第一篇配合第二篇阅读,讲解一些基本概念。若已了解可跳过。推荐阅读第三篇,因为本文是基于第三篇的笔记。DEMO一个DEMO,每3秒输出helloworldpublic class MyJob implements Job { @Override public void execute(JobExe...
2020-03-16 16:22:37
332
原创 使用多个品牌的云主机布置kafka集群时的注意事项
listeners参数用于设定从哪个ip端口拉取消息,advertised.listeners用于告诉其他程序通过哪个ip和端口找到自己
2019-09-05 18:46:19
183
原创 记一次kali系统更新
缘由:virtualbox中kali的分辨率最大只能1024*768,但通过在kali中安装virtualbox增强工具,可以获得更高的分辨率。但是安装这个工具需要更新kali,由此开了个坑。网上大部分教程要求先把源改成国内的镜像,即修改/etc/apt/sources.list的内容,有的教程甚至要求这个文件里的前100行内容用vim打开这个文件看看咯vim /etc/apt/sources.l...
2018-05-09 23:46:19
4733
1
原创 南邮CTF平台-Vigenere题解(穷举法)
题目链接:http://ctf.nuptzj.cn/challenges#Vigenere题目提示使用重合因子,但是我尝试失败了我从文章https://blog.csdn.net/qq_31344951/article/details/77934717受到启发,明文必定是可见字符,然后对密钥进行穷举以下为解题思路:假设加密者使用的密钥为vigenerekey,长度为keylen,密文为字符串arr...
2018-04-10 18:30:36
2633
原创 调整eclipse-PyDev中代码补全的敏感度
初学Python,并尝试使用eclipse+pydev插件编写代码。比较烦恼的是,这个插件的补全过于敏感,比如输入一个x会显示BaseException、complex等补全提示,仅仅因为这些补全选项里有'x'字符以下是调整方法Window-Preferences-PyDev-Editor-Code Completion取消勾选Match substrings on code completion...
2018-03-28 19:08:43
2720
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人